Я пытаюсь настроить адаптер ViewPager внутри фрагмента, чтобы показать другие фрагменты.Проблема в том, что при вызове ViewPager автоматически вызывает первые два фрагмента при отображении только пустой страницы.
Вот как установлен ViewPager:
class SwipePagerFragment : Fragment() {
private lateinit var pager: ViewPager
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.fragment_swipe_pager, container, false)
pager = view.findViewById(R.id.fragmentSwipePager_pager)
val pagerAdapter = ScreenSlidePagerAdapter(childFragmentManager)
pager.adapter = pagerAdapter
return view
}
private inner class ScreenSlidePagerAdapter(fm: FragmentManager) : FragmentStatePagerAdapter(fm) {
override fun getCount(): Int = 3
override fun getItem(position: Int): Fragment = when (position) {
0 -> MeFragment()
1 -> AccountFragment()
3 -> SearchFragment()
else -> ContactsFragment()
}
}
override fun onDestroyView() {
val frContainer = (activity as MainActivity).findViewById<View>(R.id.activityMain_fragment) as ViewGroup
frContainer.removeAllViews()
super.onDestroyView()
}
}
Вот что я получаю в logcat:
... D/FRG ME: # onCreateView
... D/FRG Account: # onCreateView