关闭

Fragment中的坑

160人阅读 评论(0) 收藏 举报

参考:http://www.jianshu.com/p/662c46cd3b5f
http://blog.csdn.net/goodlixueyong/article/details/48715661

  • 可能会出现Fragment不为null而fragment.getContext( )为null的情况,Activity都可能会被系统回收然后重建,但Fragment并不会随着Activity的回收而被回收,创建的所有Fragment会被保存到Bundle里面,从而导致Fragment丢失对应的Activity。
    出现上面这种情况时,app发生的变化如下:

1、在前面提到的几种情况下系统回收了MyActivity

2、通过onSaveInstanceState保存MyFragment的状态

3、用户再次点击进入app

4、由于MyActivity被回收,系统会重启MyActivity,根据之前保存的MyFragment的状态恢复fragment

5、MyActivity的代码逻辑中,会再次创建新的MyFragment

6、页面出现混乱,覆盖了两层的fragment。假如恢复的MyFragment使用到了getActivity()方法,会报空指针异常

对于上面的问题,可以考虑下面这两种解决办法:

1、不保存fragment的状态:在MyActivity中重写onSaveInstanceState方法,将super.onSaveInstanceState(outState);注释掉,让其不再保存Fragment的状态,达到fragment随MyActivity一起销毁的目的。

2、重建时清除已经保存的fragment的状态:在恢复Fragment之前把Bundle里面的fragment状态数据给清除。方法如下:

        if(savedInstanceState!= null)

        {
            String FRAGMENTS_TAG = "Android:support:fragments";
            savedInstanceState.remove(FRAGMENTS_TAG);

        }
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Android Fragment解析以及Fragment中碰到的各种坑

对Fragment 的梳理和总结,从Fragment 的坑中脱离出来。
  • A38017032
  • A38017032
  • 2017-04-07 22:02
  • 1369

[Android开发]你所忽略过的Fragment的坑

WiKi本文从几个实验开始,到无UI的Fragment,详解Fragment使用过程中可能忽略的相关用法和各种坑。参考Fragment全解析系列(一):那些年踩过的坑 Fragment全解析系列(二...
  • BrilliantEagle
  • BrilliantEagle
  • 2016-11-20 12:47
  • 1480

Tablayout+Viewpager+Fragment组合使用以及懒加载机制

下面这个界面在日常开发中简直太常见不过了,viewpager+fragment组合出来的效果!                             ...
  • qq_26936889
  • qq_26936889
  • 2016-09-27 14:09
  • 3895

怎样用好Fragment,避免掉坑(一)

本文是对Fragment一些坑的处理做一个记录,文章是参考YoKey 简书的Fragment全解析系列,想看更详细的可以去看, 我这里只是 简要总结一下,提炼精华。 1.内存重启 安卓a...
  • zhang_ying_xian
  • zhang_ying_xian
  • 2016-06-01 21:19
  • 754

Fragment全解析系列(一):那些年踩过的坑

原文链接Fragment系列文章: 1、Fragment全解析系列(一):那些年踩过的坑 2、Fragment全解析系列(二):正确的使用姿势 3、Fragment之我的解决方案:Fragmen...
  • lyj1005353553
  • lyj1005353553
  • 2017-05-08 11:50
  • 298

判断Fragment是否可见,填坑

首先说明,Fragment虽然有onResume和onPause的,但是这两个方法是Activity的方法,调用时机也是与Activity相同,所以Fragment的onResume和onPause的...
  • brian512
  • brian512
  • 2016-02-27 10:37
  • 1926

Fragment嵌套带来的坑--页面点击无反应(顺带ViewPager之 FragmentPagerAdapter简单分析)

接手别人的老项目。新版本测试提出一个bug:点击Home最小化的应用—>系统设置界面 改变字体后—>点击进入应用—>3个由viewpager 的fragmentadapter管理的 tab页面点击都没...
  • tmac2000
  • tmac2000
  • 2016-05-09 16:04
  • 1934

Fragment全解析系列(一):那些年踩过的坑

Fragment全解析系列(一):那些年踩过的坑 Fragment系列文章: 1、Fragment全解析系列(一):那些年踩过的坑 2、Fragment全解析系列(二):正确的使用姿势 3、Fra...
  • lloha
  • lloha
  • 2016-09-21 13:54
  • 465

Fragment全解析系列(一):那些年踩过的坑

(转载)http://www.jianshu.com/p/d9143a92ad94 Fragment系列文章: 1、Fragment全解析系列(一):那些年踩过的坑 2、Fragment全解...
  • u010746364
  • u010746364
  • 2016-05-16 21:09
  • 1250

Fragment带参数启动的坑

最近在做一个项目。没有什么特别大的功能和难点。但是里面有很多判断和对于程序整个框架的设计有难度。接下来我每一章都总结一下项目中踩到的坑。 这次讲的是Fragment带来的坑 Fra...
  • maxliyu
  • maxliyu
  • 2017-04-18 01:20
  • 218
    个人资料
    • 访问:8548次
    • 积分:424
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论