替换viewpager2中不工作的片段

vnjpjtjt  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(276)

我在使用viewpager2时遇到问题,
我想显示3页,第3页取决于第一页(当用户选择某些条件时,它会显示前面定义的两个片段之一)。
代码运行良好,当用户选择条件时,它会显示相应的第3个片段,但当用户返回并选择另一个条件时,另一个第3个片段永远不会显示,而是显示之前显示的第一个片段。
我注意到片段列表每次都有正确的片段,但是ui上显示的片段不正确。这让我很困惑。
这是我的适配器:

class ViewPagerAdapter extends FragmentStateAdapter {
     private final List<Fragment> mFragmentList = new ArrayList<>();
     private final List<String> mFragmentTitleList = new ArrayList<>();
     private final List<Integer> mFragmentUniqueId = new ArrayList<>();
     FragmentManager fragmentManager ;

     public ViewPagerAdapter(@NonNull FragmentActivity fragmentActivity) {
        super(fragmentActivity);
     }

     public void addFragment(Fragment fragment, String title , int uniqueId ) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
        mFragmentUniqueId.add(uniqueId);

     }

     public void removeFragment(int pos){
         mFragmentList.remove(pos);

     }

     public void removeFragment(Fragment fragment){
        mFragmentList.remove(fragment);

     }

     @NonNull
     @Override
     public Fragment createFragment(int position) {

        Log.e("createFragment",mFragmentList.get(position).toString());
        return mFragmentList.get(position);
     }

     @Override
     public int getItemCount() {
        return mFragmentList.size();
     }

    public String getPageTitle(int position) {
        return mFragmentTitleList.get(position);
    }
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题