ViewModel + LiveData во фрагменте, как сохранить данные ListItemFragment при переходе назад от ItemDetailFragment - PullRequest
0 голосов
/ 26 февраля 2019

В нижней части onCreateView объекта ListItemFragment я выполняю сетевой вызов, чтобы получить все элементы.например:

viewmodel.getAllItems()

Затем просмотрите данные, чтобы заполнить элементы в RecyclerView.Я использую компонент архитектуры навигации для перехода к ItemDetailFragment, когда пользователь нажимает на каждый элемент.Проблема заключается в том, что, когда я нажимаю кнопку «Назад», снова вызывается onCreateView ListItemFragment, а затем снова вызывается viewmodel.getAllItems ().Итак, я хочу предотвратить повторный вызов getAllItems () и сохранить текущую позицию RecyclerView.

1 Ответ

0 голосов
/ 26 февраля 2019
YourItemType yourItems; //define this as global field

В onCreateView;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle 
  if(yourItems == null){
     yourItems = viewmodel.getAllItems();
  }
}
...