san*_*nju 5 android android-fragments
在我的代码中,我使用两种方法将数据传递给新的片段.要么我通过Bundle传递数据,要么有时写setter来传递数据.
两者都很好,没有问题.
但是现在,我正在优化我的代码,记住saveInstances,方向更改或任何其他可能丢失数据的方式.
因此,我心中的确切疑问是,默认情况下,从背景恢复的方向更改/片段是否通过包发送的数据保持不变.或者我们也必须在bundle的情况下使用savedInstance.据我所知,通过setter设置的数据会丢失.
每当操作系统需要重新布局视图时,它都会调用onCreate
并onCreateView
保存实例状态.如果您正在使用构造函数并传递变量,那么您将丢失所设置的任何内容.如果您正在使用捆绑包并使用它直接更改某些变量,则可能会使用捆绑包中的原始值覆盖它们.要解决这个问题,只需在执行突变之前检查捆绑包是否为空.
TLDR:通过方向更改和实例还原,传递的包将保持不变.您可以将额外数据添加到已保存的实例状态包中onSaveInstanceState
.
归档时间: |
|
查看次数: |
950 次 |
最近记录: |