解决代码:
class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {
private ArrayList<Fragment> mFragments;
private FragmentManager fm;
public MyFragmentPagerAdapter(FragmentManager fm,ArrayList<Fragment> fragments) {
super(fm);
this.mFragments = fragments;
this.fm = fm;
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
@Override
public int getCount() {
return mFragments.size();
}
public void setFragments(ArrayList<Fragment> fragments) {
if(this.mFragments != null){
FragmentTransaction ft = fm.beginTransaction();
for(Fragment f:this.mFragments){
ft.remove(f);
}
ft.commit();
ft=null;
fm.executePendingTransactions();
}
this.mFragments = fragments;
notifyDataSetChanged();
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
}
注:POSITION_NONE为-1
转自:https://blog.csdn.net/jiang547860818/article/details/54380055