解雇对话时如何保留视图内存?

时间:2013-09-02 01:57:19

标签: android android-linearlayout android-view

在我的Android应用程序活动中,我为LinearLayout创建了一个全局变量。然后我创建一个对话框并将LinearLayout添加到此对话框。然后当我关闭对话框时,我相信会发生的事情是LinearLayout变量被删除,因为它的值变为null或者其他东西。

我想要的是当对话框被解除时不会删除LinearLayout数据。这是因为如果我想再次打开对话框窗口,我会再次添加LinearLayout视图,我这样做是为了记住LinearLayout中的视图状态,例如无线电组和复选框。

这可能吗?

感谢。

1 个答案:

答案 0 :(得分:1)

如果您在某个变量中保护了对LinearLayout的引用并且不自己将其设置为null,则在解除对话框后它将不为null。

但是,我认为您无法将视图附加到父级两次。

坚持国家的最佳方式是:

  1. 随着配置更改以及其他内容会暂停您的应用,请将状态存储在其他位置,并使用onSaveInstanceState()onCreate()将其保留在重新启动的活动中。两种方法都传递了Bundle,您可以在其中保存您的州。
  2. 在创建新布局时恢复您的状态。
  3. 可选:保存对话框的引用。