Some points 4. - Fragment

Fragments 总结

生命周期

lifecircle
lifecircle

Creating a Fragment

  • adding a fragment without a UI : 通过 add(Fragment,String)来添加无UI的fragment。 一般来说Fragment的使用是为了使视图模块化为了方便pad/phone的不同布局或者重用view,看到文档中的这段我就疑惑了,什么情况下会创建没有UI的fragment呢?google了一番,找到以下几种使用场景,答案来自what-is-the-use-case-for-a-fragment-with-no-ui
    • fragment能在屏幕旋转等configuration changes的场景不被销毁,activity在此情况下会销毁再重建。可以在无UI的fragment中使用thread / AsyncTask来使之保持。通常会使用Service来做这件事,但fragment层级可以作为"controller"来与其他fragment或activity交互,例如发送广播传送数据,来修改布局。这样提供良好的解耦性,使得activity不过分冗余。
    • 当无法在父activity中添加通用的代码段来实现多处复用,而又需要生命周期的回调方法时,no-UI-Fragment 解决了这个问题。
  • 将activity中过多的代码块分离到 no-UI-Fragments 中。

Managing Fragments

通过getFragmentManager()来得到 FragmentManager 管理fragments,寻找fragment:findFragmentById() / findFragmentByTag() ;弹出:popBackStack();监听stack的变化:addOnBackStackChangedListener()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容