Getting the current Fragment instance in the viewpager

前端 未结 30 1931
醉话见心
醉话见心 2020-11-22 08:56

Below is my code which has 3 Fragment classes each embedded with each of the 3 tabs on ViewPager. I have a menu option. As shown in the onOpt

30条回答
  •  长发绾君心
    2020-11-22 09:12

    This is the simplest hack:

    fun getCurrentFragment(): Fragment? {
        return if (count == 0) null
        else instantiateItem(view_pager, view_pager.currentItem) as? Fragment
    }
    

    (kotlin code)

    Just call instantiateItem(viewPager, viewPager.getCurrentItem() and cast it to Fragment. Your item would already be instantiated. To be sure you can add a check for getCount.

    Works with both FragmentPagerAdapter and FragmentStatePagerAdapter!

提交回复
热议问题