Android_ FragmentTabHost切换Fragment时避免重复加载UI
2024-09-26 23:04:06
使用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;
}
最新文章
- 抓包工具fiddler
- HDU 1026 Ignatius and the Princess I(带路径的BFS)
- [转]iOS代码块Block
- 【C-循环结构】
- objective-c 遍历文件夹查看文件
- Working with Data » Getting started with ASP.NET Core and Entity Framework Core using Visual Studio » 创建复杂数据模型
- 删除特定影响因素(字段列)下的重复记录(MySQL)
- Runtime - 01
- 请教如何实现UITextField值变化的实时监视
- JS知识点概况
- partial 的好处
- 企业架构研究总结(27)——TOGAF架构开发方法(ADM)之架构变更管理阶段
- 开心的金明 NOIP 2006 普及组
- JAVA进阶4
- 在SQL注入中利用MySQL隐形的类型转换绕过WAF检测
- 解决mysql使用GTID主从复制错误问题
- [svc]tomcat配置文件详解-最简单的基于mvn的war包
- Android 使用正则表达式验证身份证号是否符合规则
- ASP.NET学习笔记(6)——jQuery的Ajax基本操作
- 转 微软Sysinternals Suite工具13年12月版下载