MyFragment currentFragment = (MyFragment) getSupportFragmentManager()
.findFragmentByTag("f"+pagerMainAdapter.getItemId(0));
currentFragment.testRun("Hello world");
我正在尝试从 ViewPager
迁移到 ViewPager2
,但我不知道如何在 ViewPager2
中获取片段。
答案 0 :(得分:0)
从 ViewPager2 获取当前片段:
ViewPager2
有 getCurrentItem()
返回当前页码
因此,我们需要将每个页面片段链接到相应的页码。
但是我们可以通过它的id(item id)得到一个ViewPager2
片段,所以第一步是让页面id等于对应的位置,这样做覆盖getItemId
在{ {1}} ViewPager2
。
FragmentStateAdapter
然后获取当前片段:
@Override
public long getItemId(int position) {
return position;
}