FragmentTabHost切换Fragment时避免重复加载UI
2015-11-06 10:55
591 查看
项目中用到了FragmentTabHost,痛苦的是切换Fragment时页面总是重新加载无法保证是切换前的状态,现在得以解决!
问题:使用FragmentTabHost时,Fragment之间切换时每次都会调用onCreateView方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态。
解决办法:在Fragment onCreateView方法中缓存View
问题:使用FragmentTabHost时,Fragment之间切换时每次都会调用onCreateView方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态。
解决办法:在Fragment onCreateView方法中缓存View
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { if (view == null) { view = inflater.inflate(R.layout.fragment_tableindex, container, false); } // 缓存的viewiew需要判断是否已经被加过parent, // 如果有parent需要从parent删除,要不然会发生这个view已经有parent的错误。 ViewGroup parent = (ViewGroup) view.getParent(); if (parent != null) { parent.removeView(view); } return view; }
相关文章推荐
- UIAlertView与UIActionSheet的动态添加
- MongoVUE破解方法
- Android UI性能优化 -- GPU过度绘制
- 自定义UISlider的样式和滑块
- cell调整移动按钮位置 UITableViewCellReorderControl
- iOS控件之UILabel
- UIAlertView及UIAlertController在不同系统版本中的自适配
- UITextView的使用详解
- iOS之让UITableviewCell中Cell不能被点击
- android中刷新UI的两种方法
- 详解iOS开发中UIPickerView控件的使用方法
- this class is not key value coding-compliant for the key
- ios UITextView的placeholder属性实现
- FreeMarker 获取页面request
- easyui-dialog 可以提供模态的窗口
- 使用easyui最低包含的包
- uva 11572 ——Unique Snowflakes
- php中的$_REQUEST和$_SERVER
- easyui 构建数据网格
- uva 1605 ——Building for UN