@[TOC](ViewHolder views must not be attached when created. Ensure that you are not passing ‘true’ to the attachToRoot parameter of LayoutInflater.inflate(…, boolean attachToRoot))
ViewPager + Fragment + RecyclerView addViewHolder切换的时候闪退
思路:为什么第一次加载就没问题,第二次就不行,我还专门看看两次生命周期的路程,显然两次都是一样的,那到底哪里不一样呢,全局变量!!!第一次加载是首次定义,第二次不是再次定义,虽然页面被销毁但是全局变量并没有被回收,我这里有两个办法亲测有效。
1.在页面被销毁的时候设置全局变量为空
@Override
public void onStop() {
super.onStop();
Log.e("onStop","执行");
MyHotRecyclerView = null; //设置RecyclerView控件为null
pickBabyAdapter2 = null; //设置适配器为null
view_top = null; //设置头部View为null
}
2.设置ViewPager预加载全部子页面
-
这个办法就是不让这个页面销毁,但是当Viewpager里页面很多的时候会加载很慢,性能很差,这里不推荐使用
mViewPager.setOffscreenPageLimit(fragments.size);