我无法在FragmentStateAdapter中为viewPager2调用InstantiateItem元素

时间:2019-09-13 14:51:14

标签: java android android-viewpager2

当我切换到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();
    }
}

1 个答案:

答案 0 :(得分:0)

虽然很多人在view pager 2中尝试过,但我无法达到与instiateItem元素具有相同功能的相同方法。相反,我创建了接受view pagerFragments元素的片段列表。您可以问一下将它们放在哪里进入该列表。当片段状态适配器类调用createFragment()方法时,我将其推入列表。之后,我从主机片段中获取了get方法