2016-03-25 11 views
0

Ich habe zwei Fragmente in meinem ViewPager als Tabs. Diese teilen eine Symbolleiste. Sie gelangen zu SettingsActivity, indem Sie auf ein Symbol in der Symbolleiste klicken. Sie können also auf die SettingsActivity zugreifen, während entweder Fragment A sichtbar ist oder Fragment B sichtbar ist. Wenn ich von SettingsActivity zu den Fragmenten zurück navigiere, indem ich auf die Up-Schaltfläche in der Symbolleiste klicke (actionBar.setDisplayHomeAsUpEnabled (true);), möchte ich das Fragment sichtbar haben, das ich beim Zugriff auf SettingsActivity sichtbar hatte. Ohne irgendeinen speziellen Code (= aktueller Zustand) scheint er immer zum ersten Fragment im ViewPager zurückzukehren (d. H. Am weitesten links). Übergeordnete Aktivität für die Navigation nach oben ist MainActivity, wo ich den ViewPager mit den 2 Fragmenten als Tabs habe.Zurück Navigation zum letzten Fragment

Antwort

0

den Zustand Speichern Rückruf Verwenden Sie den Zustand Ihrer MainActivity zu speichern: auf Backstack

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

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    if(savedInstanceState != null) { // so the activity is being restarted 
     pager.setCurrentItem(savedInstanceState.getInt("SELETED_TAB_INDEX")); 
    } 
}