общей ViewModel.
Немного предыстории:
Есть в приложении 2 экрана: Список деталей и экран конкретной детали.
Т.к. обеим экранам требуется List<Details>, сделал для них общую ViewModel и в ней храню этот лист.
Обратил внимание на странные NPE в Crashlytics при открытии экрана детали (стек говорит о том, что selectedDetail = null)
Я грешил на вот этот кусок кода в ViewModel:
repository.getAvailableItems().doOnNext(items -> {
itemsList.clear();
itemsList.addAll(items);
});
Но dispose этого observable делается на onDestroy фрагмента со списком.
Переход из листа в деталь содержит вызов у детали, если бы она была бы null на этом моменте - приложение упало бы тут:
getFragmentManager().beginTransaction()
.replace(R.id.fragment_container, new DetailFragment())
.addToBackStack(item.getDisplayName())
.commit();
Инициализацию ViewModel и запуск действий, связанных с деталью, делаю в onActivityCreated фрагмента детали.
Можете подсказать куда копать?
P.S. Ориентация фиксированная, приложение типа kiosk, так что я не думаю, что это связано с какими то изменениями конфигурации
savedInstanceState не может быть причём?
Обсуждают сегодня