Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 关闭对话框时如何保留视图内存?_Android_Android Linearlayout_Android View - Fatal编程技术网

Android 关闭对话框时如何保留视图内存?

Android 关闭对话框时如何保留视图内存?,android,android-linearlayout,android-view,Android,Android Linearlayout,Android View,在我的android应用程序活动中,我为LinearLayout创建了一个全局变量。然后创建一个对话框,并将LinearLayout添加到此对话框中。然后,当我关闭对话框时,我相信会发生的是LinearLayout变量被删除,因为它的值变为null或其他什么 我想要的是,当对话框关闭时,不会删除LinearLayout数据。这是因为如果我想再次打开对话框窗口,我会再次添加LinearLayout视图,这样它就会记住该LinearLayout中视图的状态,例如无线电组和复选框 这可能吗 谢谢。如果

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

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

这可能吗


谢谢。

如果您在某个变量中保护对LinearLayout的引用,并且自己没有将其设置为null,则在取消对话框后,它不会为null

但是,我认为不能将视图附加到父视图两次

保持状态的最佳方法是:

  • 由于配置更改和其他事情将暂停应用程序,请将状态存储到其他位置,并使用
    onSaveInstanceState()
    onCreate()
    在活动重新启动时将其持久化。有一个
    传递给这两个方法,您可以在其中保存状态
  • 创建新布局时恢复您的状态
  • 可选:保存对对话框的引用

  • 有没有办法覆盖对话框的onbackpressed事件?您不需要这样做。只需将{something}侦听器添加到布局内的视图中,并在更改状态时保存状态。不会被解雇的。