Android:通过配置更改在UI片段中保留变量

时间:2013-07-26 02:27:39

标签: android user-interface fragment

我想通过UI片段中的配置更改(轮换)来保留临时变量。我已经读过,通常你不应该在UI片段上使用setRetainInstance(true)。我有什么选择?我是否必须使用附加到我的片段的setUetainInstance(true)的非ui子片段?我想尽可能避免这种情况,儿童片段可能令人沮丧。

另外,我真的更喜欢将片段变量封装在片段本身中。我可以将数据存储在附加到活动的另一个非ui片段中,但我不愿意。似乎应该有一个更简单的方法来做到这一点。我希望片段像onRetainNonConfigurationInstance()一样作为后备。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以在清单中将android:configChanges="orientation"选项设置为住房活动。这将导致所有方向更改都调用onConfigurationChanged()而不是onDestroy()

答案 1 :(得分:0)

我从未读过关于在UI片段中不使用setRetainInstanceState的内容。片段的一大优势是,您可以通过配置更改来保留状态,只需使用该标志即可。我在我的所有应用中使用它。试一试:)

此外,子片段无法保留其实例状态。