我在使用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);
}
}
暂无答案!
目前还没有任何答案,快来回答吧!