Я знаю, что этот вопрос задавался много раз, но я не смог найти объяснительного ответа.
Я хочу иметь один MyFragment. java и отобразить его для всех 3 страниц ViewPager
.
Но когда я пытаюсь создать фрагмент с помощью этого метода:
new MyFragment()
и добавить его к ViewPager
, я получаю эту ошибку:
java .lang.IllegalStateException: фрагмент уже добавлен в androidx.fragment.app.Fragment.setInitialSavedState (Fragment. java: 679) в androidx.viewpager2.adapter.FragmentStateAdapter.ensureFragment (FragmentStateAdapter. *) 10: 26 в androidx.viewpager2.adapter.FragmentStateAdapter.onBindViewHolder (FragmentStateAdapter. java: 175) в androidx.viewpager2.adapter.FragmentStateAdapter.onBindViewHolder (FragmentStateAdapter. java: 67) atroidViewonderter $. (RecyclerView. java: 7065) на сайте androidx.recyclerview.widget.RecyclerView $ Adapter.bindViewHolder (RecyclerView. java: 7107)
Мне бы хотелось чтобы узнать, есть ли возможность добавить этот же фрагмент в ViewPager. Возможные применения:
Веб-браузер, имеющий фрагменты WebView в Viewpager
Почему именно нам нужно использовать фрагмент-фрагмент? Почему мы не можем относиться к фрагментам как к предметам переработки, которые могут быть созданы несколько раз? Даже viewpager2 становится все более похожим на RecyclerView
.
Если невозможно повторно создавать фрагменты и добавлять их в один и тот же ViewPager, есть ли другие способы, кроме замены фрагментов в адаптере ViewPager обычным накачанным взгляды? Это было бы терпимым решением?