Android 碎片化开发:从基础到实践
1. 碎片化基础
在 Android 开发中,碎片(Fragment)是一个重要的概念。构成碎片视图层次结构的视图对象与 Android 其他地方使用的视图类型相同,因此你对视图的了解同样适用于碎片。
除了视图层次结构,碎片还有一个作为初始化参数的捆绑包(Bundle)。与活动(Activity)类似,碎片可以被系统保存并在之后自动恢复。当系统恢复碎片时,会调用默认构造函数(无参数),然后将参数捆绑包恢复到新创建的碎片中。后续对碎片的回调可以访问这些参数,并使用它们将碎片恢复到之前的状态。因此,需要确保以下两点:
- 为碎片类提供默认构造函数。
- 在创建新碎片时立即添加参数捆绑包,以便后续方法能正确设置碎片,并且系统在必要时能正确恢复碎片。
一个活动可以同时包含多个碎片。如果一个碎片被另一个碎片替换,碎片切换事务可以保存在返回栈(Back Stack)中。返回栈由与活动关联的碎片管理器管理,它决定了返回按钮的行为。碎片知道它所关联的活动,并可以通过该活动访问其碎片管理器,还可以通过活动访问活动的资源。
与活动类似,碎片在重新创建时可以将状态保存到捆绑对象中,该捆绑对象会传递给碎片的 onCreate() 回调。这个保存的捆绑包也会传递给 onInflate() 、 onCreateView() 和 onActivityCreated() 。需要注意的是,这与作为初始化参数附加的捆绑包不同,这个捆绑包用于存储碎片的当前状态,而不是用于初始化的值。
超级会员免费看
订阅专栏 解锁全文
1193

被折叠的 条评论
为什么被折叠?



