Я пошел через знаменитое сообщение в SO, Maintain/Save restore scroll position , но не помогает мне вообще.Ориентация: восстановить позицию ListView, находящуюся внутри фрагмента
У меня есть ListView внутри фрагмента, если я изменяю ориентацию, я бы хотел, чтобы saveInstance Bundle сохранил мою позицию. У меня есть
private static final String LIST_STATE = "listState";
private Parcelable mListState = null;
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mListState = listView.onSaveInstanceState();
outState.putParcelable(LIST_STATE, mListState);
}
и не имеет значения, если я ставлю в OnCreateView или onActivityCreated следующего кода
if(savedInstanceState!=null) {
mListState = savedInstanceState.getParcelable(LIST_STATE);
listView.onRestoreInstanceState(mListState);
позицию вверх список не восстанавливаются вообще. можно легко увидеть из отладки в Bundle, что отладки распознает в Bundle положение,
AbsListView.SavedState {3d7562e0 selectedId = -9223372036854775808 FirstId = 25 viewTop = -38 положение = 5 высота = 717 фильтр = нулевой CheckState = нуль}
Я даже пытался извлечь из Bundle этого положения в изолированно, а не всех ценности, но без успеха.
Большое спасибо за ваш интерес, но если я вызову setRetainInstance (true), ListView исчезнет, если я изменил поворот – trocchietto