Android 是否可以在FragmentStatePagerAdapter中替换当前查看的片段,而无需先滑动到其他页面?

Android 是否可以在FragmentStatePagerAdapter中替换当前查看的片段,而无需先滑动到其他页面?,android,android-fragments,carousel,fragmentstatepageradapter,page-fragments,Android,Android Fragments,Carousel,Fragmentstatepageradapter,Page Fragments,我已经成功地替换了FragmentStatePagerAdapter中的片段,但它需要从片段中滑出,以便将其销毁并重新创建一个不同的片段,从而替换片段 我需要的是用另一个片段替换适配器当前查看的片段,而不更改当前查看的片段 例如: 第1页第2页第3页第4页 Page4是活动片段。当我在第4页单击某个内容时,它将被另一个片段替换 第1页第2页第3页第3页 仅适用于onChange方法。胡猜 这可能吗?我考虑过使用FrameLayout,只是设置了布局的可见性,但我认为这不是最好的选择 谢谢 这不是

我已经成功地替换了FragmentStatePagerAdapter中的片段,但它需要从片段中滑出,以便将其销毁并重新创建一个不同的片段,从而替换片段

我需要的是用另一个片段替换适配器当前查看的片段,而不更改当前查看的片段

例如:

第1页第2页第3页第4页

Page4是活动片段。当我在第4页单击某个内容时,它将被另一个片段替换

第1页第2页第3页第3页

仅适用于onChange方法。胡猜

这可能吗?我考虑过使用FrameLayout,只是设置了布局的可见性,但我认为这不是最好的选择


谢谢

这不是在ViewPager中重新实例化片段的最有效方法,但却是最简单的方法:

public int getItemPosition(Object object) {
   return POSITION_NONE;
}
或者在片段中创建一个方法并调用它,如果片段具有正确的标记:

@Override
        public Fragment getItem(int position) {         
            if (position == some position) {
                YourFragment myFragment = YourFragment.newInstance(someObject);
                myFragment.setmTag("some tag");
                return myFragment;
            }
            //some code
}

@Override
        public Fragment getItem(int position) {         
            if (position == some position) {
                YourFragment myFragment = YourFragment.newInstance(someObject);
                myFragment.setmTag("some tag");
                return myFragment;
            }
            //some code
@Override
        public int getItemPosition(Object object) {
            YourFragment frag = ((YourFragment) object);
            if (frag.getmTag()!="some tag") {
                ((YourFragment) object).update(someObject);

            }

            return super.getItemPosition(object);
        }