您的位置:首页 > 移动开发 > Android开发

为了解决viewpager彻底删除fragment问题

2017-04-14 10:32 260 查看
为了解决viewpager彻底删除fragment,我们要做的是:
1.将FragmentPagerAdapter 替换成FragmentStatePagerAdapter,因为前者只要加载过,fragment中的视图就一直在内存中,在这个过程中无论你怎么刷新,清除都是无用的,直至程序退出;
后者 可以满足我们的需求。
2.我们可以重写Adapter的方法--getItemPosition(),让其返回PagerAdapter.POSITION_NONE即可;
public class SimpleFragmentAdapter extends FragmentStatePagerAdapter {
private List<LocalMedia> selectIamges=new ArrayList<>();
public SimpleFragmentAdapter(FragmentManager fm) {
super(fm);
}

public void setSelectIamges(List<LocalMedia> selectIamges) {
this.selectIamges = selectIamges;
}

@Override
public Fragment getItem(int position) {
return ImagePreviewFragment.getInstance(selectIamges.get(position).getPath(),0);
}

@Override
public int getCount() {
return selectIamges.size();
}

@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐