如何在 FragmentStateAdapter 中获取片段

时间:2021-07-31 02:41:02

标签: java android android-fragments android-viewpager2 fragmentstatepageradapter

MyFragment currentFragment = (MyFragment) getSupportFragmentManager()
                                   .findFragmentByTag("f"+pagerMainAdapter.getItemId(0));
currentFragment.testRun("Hello world");

我正在尝试从 ViewPager 迁移到 ViewPager2,但我不知道如何在 ViewPager2 中获取片段。

1 个答案:

答案 0 :(得分:0)

从 ViewPager2 获取当前片段:

ViewPager2getCurrentItem() 返回当前页码 因此,我们需要将每个页面片段链接到相应的页码。

但是我们可以通过它的id(item id)得到一个ViewPager2片段,所以第一步是让页面id等于对应的位置,这样做覆盖getItemId在{ {1}} ViewPager2

FragmentStateAdapter

然后获取当前片段:

@Override
public long getItemId(int position) {
    return position;
}
相关问题