Android非UI片段的用法

我正在浏览Fragments上的Android文档 。 定义片段UI的布局可以在Activity的布局中定义,也可以在单独的.xml文件中定义,或根本不定义。

根据文件

您还可以使用片段为活动提供背景行为,而无需呈现额外的UI。

为什么我需要使用另一个片段来为Activity添加function,而不是在Activity中定义更多的function? 这样的非UI片段只是为了模块化吗? 采用这种方法还有另外一个原因吗? 我将不胜感激一个适合使用非UI片段的例子。

预先感谢您的帮助。

  • 将navigationView与tabLayout一起使用
  • 如何在Recycler.Adapter上调用getFragmentManager?
  • 什么是Activity.isFinishing()的片段等价物?
  • 以编程方式隐藏ViewPager.OnPageChangeListener onPageSelected()中的软键盘?
  • Android:嵌套片段的父片段
  • 从Fragment调用活动方法
  • Android在主题中全局设置编辑文本样式不起作用
  • 以编程方式为系统窗口提供状态栏透明度
  • 我想这是关于保留的片段,你可以调用setRetainedInstance(true)的内部片段,这样你的片段将不会在configuration更改期间重新创build。 通常当你旋转你的设备时,所有的碎片将被重新创build。 如果在onCreate()中调用setRetainedInstance(true),那么将不会重新创build片段实例。

    什么使用它? – 你可以把一些数据,数组等放在你的片段中,在configuration改变时不会被破坏。 你也可以把asynchronous任务放到这个片段中,在主要活动轮换之后,片段中的asynchronous任务仍然能够传递结果。

    片段的另一个有用的function是,您可以轻松地在多个活动中重复使用它们。 这意味着你可以在你的非UI片段中放置一些通用的逻辑。 你可以说让你的活动用基类完成,但是你只能扩展一个类。

    和简单的例子从谷歌(实际上使用线程内保留的片段):

    https://android.googlesource.com/platform/development/+/master/samples/ApiDemos/src/com/example/android/apis/app/FragmentRetainInstance.java