Мой файл макета представляет список магазинов (см. Скриншот).
![enter image description here](https://i.stack.imgur.com/3MDG3.png)
Я установил прослушиватель щелчков в файле макета с привязкой данных следующим образом:
android:onClick="@{() -> storeCallback.onStoreClick(store)}"
В своем фрагменте я определил этот класс следующим образом:
class StoreClick(val block: (StoreModel) -> Unit) {
/**
* Called when a store is clicked
*
* @param store the store that was clicked
*/
fun onStoreClick(store: StoreModel) = block(store)
}
И я вызываю его в адаптере следующим образом:
StoreClick {
// When a store is clicked this block or lambda will be called by MyAdapter
val action =
MyFragmentDirections.actionHomeToStoreDetailFragment(it.storeID)
findNavController().navigate(action)
})
Все отлично работает до изменения конфигурации. Однако после поворота устройства и нажатия на элемент магазина в адаптере приложение вылетает из-за findNavController
с этой ошибкой:
нет текущего навигационного кода
Есть идеи?
ОБНОВЛЕНИЕ: Я обнаружил ошибку в AOSP здесь . Однако не ясно, что происходит в этом случае.