NavigationComponents, сохраняющие состояние фрагмента без расширенного примера - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть фрагмент, содержащий список, но когда я перемещаюсь от FragmentA() до FragmentB() с помощью

findNavController().navigate(R.id.navigation_b)

и возвращаюсь, представление воссоздается само собой, и поэтому список дублируется с помощью содержимое предыдущего загруженного списка

Что я пробовал

  1. Очистка списка перед его добавлением
  2. onSaveInstanceState не работает для фрагментов

Здесь, когда я устанавливаю эти данные, они правильно отображаются на FragmentA(), но если я go на FragmentB() и возвращаюсь, он дублируется, и представление также воссоздается, мне нужен способ сохранить этот фрагмент живым, когда навигация назад

override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)

        if(myList.isEmpty()){
            showEmptyContainer()
        }else{
            adapter.setItems(myList)
        }

}

1 Ответ

0 голосов
/ 03 апреля 2020

Решил это, переместив настройку списка в onCreate (), а затем объявив переменную

val view:View?= null

и спросив в onCreateView, является ли это нулем, если это так, надуйте макет, если не продолжите

...