关于Fragment

作者: IOExceptioner | 来源:发表于2017-01-20 12:26 被阅读86次

    Fragment的使用

    直接在布局文件中使用

    在布局文件中设置<fragment> 标签,设置标签对应的Fragment类的name 即可

    动态添加

    在Activity中利用FragmentTransaction 的 replace ,add, remove ,hide ,show 方法来动态的 添加删除隐藏显示Fragment ,需要在Activity的Layout 中有FrameLayout

    Fragment重叠异常

    原因

    1、发生了页面重启(旋转屏幕、内存不足等情况被强杀重启)。
    FragmentManager帮我们管理Fragment,当发生“内存重启”,他会从栈底向栈顶的顺序一次性恢复Fragment;
    2、重复replace|add Fragment 或者 使用show , hide控制Fragment。
    在onCreate中加载Fragment,并且没有判断saveInstanceState==null,导致重复加载了同一个Fragment导致重叠。

    解决方式

    添加Fragment 的时候绑定一个tag,这样当Activity重启的时候利用Fragmentmanager的 findFragmentByTag方法找到对应的Fragment,然后hide(),show()对应的Fragment
    也可以利用getFragments()可以获取到当前FragmentManager管理的栈内所有Fragment,然后再对每一个Fragment分别处理。

    相关文章

      网友评论

        本文标题:关于Fragment

        本文链接:https://www.haomeiwen.com/subject/uupwbttx.html