1,使用Tablayout + ViewPager 创建多页面,第一次显示,切换后不再显示
ViewPager设置setAdapter不会重新创建Fragment的问题
我的解决方案:
public void clearAdapter(){
if (viewPager!=null) {
//获取FragmentManager实现类的class对象,这里指的就是FragmentManagerImpl
Class<? extends FragmentManager> aClass = getChildFragmentManager().getClass();
try {
//1.获取其mAdded字段
Field f = aClass.getDeclaredField("mAdded");
f.setAccessible(true);
//强转成ArrayList
ArrayList<Fragment> list = (ArrayList) f.get(getActivity().getSupportFragmentManager());
//清空缓存
list.clear();
//2.获取mActive字段
f = aClass.getDeclaredField("mActive");
f.setAccessible(true);
//强转成ArrayList
ArrayList<Fragment> array = (ArrayList) f.get(getActivity().getSupportFragmentManager());
//清空缓存
array.clear();
} catch (Exception e) {
e.printStackTrace();
}
}
}
2,LinearLayout Vertical 第二个TextView不显示
3,RecyclerView常见问题