2016-03-25 12 views
0

私はViewPagerに2つのフラグメントをタブとして持っています。これらはツールバーを共有します。ツールバーのアイコンをクリックすると、SettingsActivityが表示されます。 フラグメントAが目に見えるものであるか、フラグメントBが目に見えるものである間に、SettingsActivityにアクセスできます。 SettingsActivityからフラグメントに戻るとき、ツールバーの上ボタン(actionBar.setDisplayHomeAsUpEnabled(true);)をクリックして、フラグメントを表示したいと思います。これは、SettingsActivityにアクセスしたときに表示されていました。 特別なコード(=現在の状態)がなければ、常にViewPagerの最初のフラグメント(つまり、一番左のフラグメント)に戻るようです。 上向きのナビゲーションの親アクティビティはMainActivityで、2つのフラグメントをタブとして持つViewPagerがあります。最後の部分へのナビゲーション

答えて

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