Я изо всех сил пытаюсь восстановить свою позицию в списке на изменение конфигурации вращения экрана.как установить позицию списка после изменения конфигурации
Среди многих вещей, которые я пробовал, я пришел к этому:
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState == null) {
...
mVisibleItem = -1;
} else {
if (savedInstanceState.containsKey(LV_VISIBLE_ITEM)) {
mVisibleItem = savedInstanceState.getInt(LV_VISIBLE_ITEM);
}
}
setRetainInstance(true);
}
и здесь я пытаюсь установить позицию в ListView
@Override
public void onResume() {
super.onResume();
if (mVisibleItem > 0) {
mlvDictionaryIndex.setSelectionFromTop(mVisibleItem, 0);
}
}
Однако, к моему удивлению, , после поворота экрана и просмотра mVisibleItem устанавливается с правильным значением, в onResume я вижу, что mVisibleItem равно -1. Как так?