PJL*_*PJL 18 android android-fragments
使用compat lib v1(因为某些错误而不使用v2 | 3); 这个问题的一个变种.
我有一个片段,其UI具有各种控件,我希望在方向更改时保持其状态.
父方活动在方向改变时被销毁(请不要告诉我有关清单变化以避免活动娱乐!!!!).
片段调用setRetainInstance(true).
1)现在我的理解是,具有唯一ID的视图应该保留一些状态,例如方向更改.鉴于此,我期望一个非null的bundle,onCreateView|onActivityCreated但它是null.
2)在任何情况下如果我保存状态onSaveInstanceState(确保我调用super)我仍然在'onCreateView | onActivityCreated'中得到一个空包
3)如果我不调用setRetainInstance(true)那么onCreateView|onActivityCreated即使我没有`onSaveInstanceState'方法,我也会得到一个非空包.
我的问题是,这是否按预期工作,我对生命周期的理解被打破了?无论如何,我猜测对我来说最好的方法是保留片段,然后在片段中保持控件的状态.
提前致谢.彼得.
Cat*_*san 17
如果您使用setRetainInstance(true)当然捆绑包为空.该片段不会被销毁,只会从当前活动中分离并附加到新活动.只有当片段被销毁时,才会获得包含您保存的值的包onSaveInstanceState.只需删除setRetainInstance(true)并使用onCreateView()中保存的值来设置自定义视图.
| 归档时间: |
|
| 查看次数: |
14184 次 |
| 最近记录: |