Getting the current Fragment instance in the viewpager

前端 未结 30 2400
醉话见心
醉话见心 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:10

    by selecting an option, I need to update the fragment that is currently visible.

    To get a reference to currently visible fragment, assume you have a reference to ViewPager as mPager. Then following steps will get a reference to currentFragment:

    1. PageAdapter adapter = mPager.getAdapter();
    2. int fragmentIndex = mPager.getCurrentItem();
    3. FragmentStatePagerAdapter fspa = (FragmentStatePagerAdapter)adapter;
    4. Fragment currentFragment = fspa.getItem(fragmentIndex);

    The only cast used line 3 is valid usually. FragmentStatePagerAdapter is an useful adapter for a ViewPager.

提交回复
热议问题