FragmentTabHost切换Fragment时避免重复加载UI
2024-08-24 14:34:24
使用FragmentTabHost时,Fragment之间切换时每次都会调用onCreateView方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态。
解决办法:在Fragment onCreateView方法中缓存View
private View rootView;//缓存Fragment view @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if(rootView==null){
rootView=inflater.inflate(R.layout.tab_fragment, null);
}
//缓存的rootView需要判断是否已经被加过parent, 如果有parent需要从parent删除,要不然会发生这个rootview已经有parent的错误。
ViewGroup parent = (ViewGroup) rootView.getParent();
if (parent != null) {
parent.removeView(rootView);
}
return rootView;
}
最新文章
- 如何解决流程开发中SheetRadioButtonList页面取值问题
- selenium启动Chrome浏览器和禁止证书错误提示弹出
- Adaboost 算法
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q48-Q50)
- java中的反射机制,以及如何通过反射获取一个类的构造方法 ,成员变量,方法,详细。。
- 【C#】ASP.NET网页中添加单点登录功能
- Java机试题目_怎样截取字符串
- js 一个关于图片onload加载的事
- 高性能爬虫为什么使用定制DNS客户端?
- 直接修改别人jar包里面的class文件 工具:jclasslib
- CSS 3 属性学习 —— 2. RGBA
- poj 1966 Cable TV Network 顶点连通度
- LeetCode OJ 229. Majority Element II
- jquery让页面滚动条top,滚动条 顶部
- LeetCode 136. Single Number (落单的数)
- SpringBoot(四)SpringBoot中lombok使用
- Android特效专辑(七)——飞机升空特效,一键清理缓存,灵活运用动画会有不一样的感受
- 原生的 django 分页
- 【Tensorflow】Tensorflow r1.0, Ubuntu, gpu, conda安装说明
- 计算机终端安装成功的包 pycharm不能更新