FragmentTabHost切换Fragment时避免UI重新加载
2015-10-28 08:43
351 查看
原出处:http://liucanwen.iteye.com/blog/2029893?utm_source=tuicool&utm_medium=referral
用FragmentTabHost + Fragment 可以实现微博底栏菜单,看图:
不过,初次实现时发现有个缺陷,每次FragmentTabHost切换fragment时会调用onCreateView()重绘UI。
解决方法,在fragment onCreateView 里缓存View:
用FragmentTabHost + Fragment 可以实现微博底栏菜单,看图:
不过,初次实现时发现有个缺陷,每次FragmentTabHost切换fragment时会调用onCreateView()重绘UI。
解决方法,在fragment onCreateView 里缓存View:
private View rootView;// 缓存Fragment view @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Log.i(TAG, "onCreateView"); if (rootView == null) { rootView = inflater.inflate(R.layout.fragment_1, null); } // 缓存的rootView需要判断是否已经被加过parent,如果有parent需要从parent删除,要不然会发生这个rootview已经有parent的错误。 ViewGroup parent = (ViewGroup) rootView.getParent(); if (parent != null) { parent.removeView(rootView); } return rootView; }
相关文章推荐
- iOS --- 使用UIImageView来实现倒计时动画
- Android关于buildToolVersion与CompileSdkVersion的区别
- 脚本中如何跳出当前循环??
- UITableView的常用属性和代理方法
- SqlCommandBuilder类批量更新excel或者CSV数据的方法
- routejs blueprints rest model url salias 11
- Auto Layout 使用心得(五)—— 根据文字、图片自动计算 UITableViewCell
- UI常识
- UIAlertController的使用方法
- ActiveMQ-1 安装以及WebUI的配置
- easyui之datagrid(combobox类型的editor)
- hadoop2.5.2 运行实例 /home/hadoop/tmp due to 权限不够
- Codeforces 590B Chip 'n Dale Rescue Rangers
- iOS开发--UITableView流畅性优化
- iOS UI设计: autolayout约束的一点技巧
- Java GUI API
- UITableView和UITableViewCell的几种样式
- LeetCode 096 Unique Binary Search Trees
- LeetCode 095 Unique Binary Search Trees II
- UE4材质初探