2016-03-25 78 views
0

我的ViewPager中有兩個片段作爲製表符。這些共享一個工具欄。您可以通過單擊工具欄上的圖標進入SettingsActivity。 因此,您可以訪問SettingsActivity,而Fragment A是可見的,或者Fragment B是可見的。 當我從SettingsActivity返回到片段時,通過單擊工具欄中的向上按鈕(actionBar.setDisplayHomeAsUpEnabled(true);),我想讓片段可見,當我訪問SettingsActivity時我已經可見。 沒有任何特殊的代碼(=當前狀態),它總是返回到ViewPager中的第一個片段(即最左邊的片段)。 向上導航的父活動是MainActivity,我有ViewPager和2個片段作爲標籤。返回導航到上一個片段

回答

0

使用狀態保存回調保存您的MainActivity的狀態:

@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")); 
    } 
}