Попробуйте использовать SaveInstanceState позволяет проверить один образец ниже
public class MainFragment extends Fragment {
// These variable are destroyed along with Activity
private int someVarA;
private String someVarB;
...
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("someVarA", someVarA);
outState.putString("someVarB", someVarB);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
someVarA = savedInstanceState.getInt("someVarA");
someVarB = savedInstanceState.getString("someVarB");
}
}
Там нет onRestoreInstanceState метод внутри фрагмента. Для Фрагмента есть специальный случай, который отличается от Activity, и я думаю, что вам нужно знать об этом. После того, как Фрагмент будет возвращен из backstack, его Вид будет уничтожен и воссоздан.
Переопределите 'onSaveInstanceState' и/или' onPause', 'onResume' и сохраните соответствующие данные там. – Vucko
Я думаю, это потому, что вы не сохраняете данные для выбранного элемента. Когда вы вернетесь, ваш фрагмент будет создан снова. Теперь, если вы не сохранили выбранный элемент. Он покажет вам значения по умолчанию или прошлые данные. – Dexter