使用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;
}

最新文章

  1. 如何解决流程开发中SheetRadioButtonList页面取值问题
  2. selenium启动Chrome浏览器和禁止证书错误提示弹出
  3. Adaboost 算法
  4. Sharepoint学习笔记—习题系列--70-573习题解析 -(Q48-Q50)
  5. java中的反射机制,以及如何通过反射获取一个类的构造方法 ,成员变量,方法,详细。。
  6. 【C#】ASP.NET网页中添加单点登录功能
  7. Java机试题目_怎样截取字符串
  8. js 一个关于图片onload加载的事
  9. 高性能爬虫为什么使用定制DNS客户端?
  10. 直接修改别人jar包里面的class文件 工具:jclasslib
  11. CSS 3 属性学习 —— 2. RGBA
  12. poj 1966 Cable TV Network 顶点连通度
  13. LeetCode OJ 229. Majority Element II
  14. jquery让页面滚动条top,滚动条 顶部
  15. LeetCode 136. Single Number (落单的数)
  16. SpringBoot(四)SpringBoot中lombok使用
  17. Android特效专辑(七)——飞机升空特效,一键清理缓存,灵活运用动画会有不一样的感受
  18. 原生的 django 分页
  19. 【Tensorflow】Tensorflow r1.0, Ubuntu, gpu, conda安装说明
  20. 计算机终端安装成功的包 pycharm不能更新

热门文章

  1. CodeForces 682D Alyona and Strings (四维DP)
  2. MSGPACK(一)
  3. [iOS UI进阶 - 6.2] 核心动画CoreAnimation 练习代码
  4. Session,Cookie 和local storage的区别
  5. 跟Android自带模拟器说拜拜,Mac Genymotion 使用心得
  6. Unity3D行为树插件Behave学习笔记
  7. MVC神韵---你想在哪解脱!(十八)
  8. 深入Mysql 导入导出
  9. cdoj 1252 24点游戏 dfs
  10. Binder机制1---Binder原理介绍