ViewPager中Fragment切换不变空白或不被销毁的方法

转载自 : https://www.cnblogs.com/yuqf/p/5887929.html

最近在一个项目的首页,然后一个ViewPager里面加载了五个Fragment,但是在切换过程中发现,Fragment总是被销毁,在网上查了一下,发现有两种办法可以保证Fragment不被销毁,保持切换前的状态。

方法一:只需要一行代码pager.setOffscreenPageLimit(3); 【这个网上很多博客都用提到过,没有用过】

方法二【验证OK】:

在Fragment的onCreateView方法中,做如下处理:

private View parentView;

@Override

publicView onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {

    if(parentView ==null) {

        parentView= inflater.inflate(R.layout.fragment_singer, container,false);

        //在这里做一些初始化处理

        initChoiceLayout();

    }else{

        ViewGroup viewGroup=(ViewGroup) parentView.getParent();if(viewGroup !=null)

        viewGroup.removeView(parentView);

    }

    return parentView;

}

你可能感兴趣的:(ViewPager中Fragment切换不变空白或不被销毁的方法)