2013-02-06 4 views
0

저는 오래된 안드로이드 프로그래머입니다 만, 필자는 액티비티만을 사용 했었고 프래그먼트로는 상당히 새로워졌습니다.이전 상태를 유지하는 프래그먼트로 돌아 가기

클릭 할 때 메뉴 막대 위에 각기 다른 조각을로드해야하는 메뉴 막대 (4 개의 버튼)가있는 응용 프로그램을 만들었습니다. 문제는 메뉴 막대 단추 중 하나를 클릭 할 때마다 조각을 완전히 다시로드하고 장치의 뒤로 단추처럼 이전 상태에 조각을 표시하고 싶습니다.

어떻게하면됩니까?

주요 활동에서 전화 :

Fragment my_fragment = new MyFragment(); 
    FragmentManager fragment_manager = getSupportFragmentManager(); 
    FragmentTransaction fragment_transaction = fragment_manager.beginTransaction(); 
    fragment_transaction.replace(R.id.fragment_container, my_fragment); 
    fragment_transaction.addToBackStack(null); 
    fragment_transaction.commit(); 

대부분의 내 MyFragment 프로세스 코드는 기능에는

는 또한 활동으로 방법을 onSaveInstanceState 사용할 수 있습니다

답변

1

을 onActivityCreated 데이터를 복원하려면 savedInstanceState 객체를 번들로 묶습니다 (예 :

).
@Override 
public void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    outState.putInt("test", 1); 
} 

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    if (savedInstanceState != null) { 
     int testValue = savedInstanceState.getInt("test", 0); 
    } 
} 

http://developer.android.com/guide/components/fragments.html

+1

감사합니다. 그러나 Fragment를 호출하고 특별한 작업을 수행하지 않고 정확히 이전 상태로로드하는 간단한 방법이 있습니까? 기기의 뒤로 버튼을 사용하여 탐색하면 바로 그 기능입니다. – thomaus

관련 문제