Назад переход к последнему фрагменту

У меня есть два фрагмента в моем ViewPager в виде вкладок. У них общая панель инструментов. Вы попадаете в SettingsActivity, щелкнув значок на панели инструментов. Таким образом, вы можете получить доступ к SettingsActivity, когда либо фрагмент A является видимым, либо фрагмент B является видимым. Когда я возвращаюсь из SettingsActivity к фрагментам, нажимая кнопку «Вверх» на панели инструментов (actionBar.setDisplayHomeAsUpEnabled (true);), я хочу, чтобы был виден фрагмент, который был виден при доступе к SettingsActivity. Без какого-либо специального кода (= текущее состояние) кажется, что он всегда возвращается к первому фрагменту в ViewPager (т.е. к самому левому). Родительским действием для навигации вверх является MainActivity, где у меня есть ViewPager с двумя фрагментами в виде вкладок.


person NoClueSorry    schedule 25.03.2016    source источник


Ответы (2)


Используйте обратный вызов сохранения состояния, чтобы сохранить состояние вашей 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"));
    }
}
person Selçuk Cihan    schedule 25.03.2016

сохраните свой фрагмент в стопку. Таким образом, кнопка возврата для фрагментов будет работать так же, как и для действий.

Здесь: http://developer.android.com/training/implementing-navigation/temporal.html

person Rusheel Jain    schedule 25.03.2016