当我切换到viewPager2时,我必须实现另一种类型的适配器(我使用FragmentPagerAdapter,现在使用FragmentStateAdapter),现在我想调用具有旧适配器但没有出现在新适配器中的InstantiateItem元素。
public void onPageChange(int position) {
//I cannot call instantiateItem from pagerAdapter
Object object = pagerAdapter.instantiateItem(mMainViewPager,position);
if (object instanceof MapFragment) {
MapFragment fragment = (MapFragment) object;
//fragment.setDevice(mDevice);
//fragment.setLastTracking();
}
if (object instanceof DevicesFragment) {
DevicesFragment fragment = (DevicesFragment) object;
//fragment.refresh();
}
}
答案 0 :(得分:0)
虽然很多人在view pager 2中尝试过,但我无法达到与instiateItem元素具有相同功能的相同方法。相反,我创建了接受view pagerFragments元素的片段列表。您可以问一下将它们放在哪里进入该列表。当片段状态适配器类调用createFragment()方法时,我将其推入列表。之后,我从主机片段中获取了get方法