ViewPager中Fragment切换过程不被销毁的方法
背景:最近在写一个音乐播放器,然后一个ViewPager里面加载了四个Fragment,但是在切换过程中发现,Fragment总是被销毁,在网上查了一下,发现有两种办法可以保证Fragment不被销毁,保持切换前的状态。
方法一:只需要一行代码pager.setOffscreenPageLimit(3); 【这个网上很多博客都用提到过,没有用过】
方法二【验证OK】:
在Fragment的onCreateView方法中,做如下处理:
private View parentView; @Override public View 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; }
这样子就OK了。