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

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

        public void setSelectIamges(List 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;
        }
    }

你可能感兴趣的:(Android开发)