Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.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 - Fatal编程技术网

Android 如何正确保存进度对话框状态?

Android 如何正确保存进度对话框状态?,android,Android,在我的应用程序中,当我做一些长时间的工作时,我会在工作尚未完成时使用进度对话框。 我到处找,但没有成功。我创建的一切都是关于保存用户界面元素和状态的 然后,我想知道如何正确保存进度对话框状态 我希望这个工作,因为当方向屏幕改变应用程序崩溃 我应该使用onSaveInstanceState()方法吗?怎样?我尝试使用“保存为捆绑包”,但没有成功 任何建议都很好 感谢要处理屏幕方向,您必须使用onRetainonConfiguration实例() 您可以在此处找到关于屏幕方向的更广泛的解释:我在应用

在我的应用程序中,当我做一些长时间的工作时,我会在工作尚未完成时使用进度对话框。 我到处找,但没有成功。我创建的一切都是关于保存用户界面元素和状态的

然后,我想知道如何正确保存进度对话框状态

我希望这个工作,因为当方向屏幕改变应用程序崩溃

我应该使用onSaveInstanceState()方法吗?怎样?我尝试使用“保存为捆绑包”,但没有成功

任何建议都很好


感谢

要处理屏幕方向,您必须使用onRetainonConfiguration实例()


您可以在此处找到关于屏幕方向的更广泛的解释:

我在应用程序中执行此操作的方式是覆盖活动中的onConfigurationChanged()方法,如下所示:

@Override
    public void onConfigurationChanged(Configuration config) {
        //Just switch the layout without respawning the activity
        super.onConfigurationChanged(config);   
    }

到目前为止,这还没有给我任何问题,而且当方向更改时,我的活动不会重新加载或重新启动。

我认为,您的对话框在方向更改时崩溃,因为您没有使用

@Override
protected Dialog onCreateDialog(int dialogID, Bundle args)

显示您的对话框。
我对警报对话框也有同样的问题。在我看来,如果您不以这种方式创建对话框,它将链接到您的活动,当活动停止时,系统会发现对话框仍在尝试访问该停止的活动,而不是新的活动。

您需要将其添加到显示对话框的活动的清单文件中:

android:configChanges="keyboardHidden|orientation"

谢谢我读过关于OnRetainOnConfiguration实例()的文章,其中说:OnRetainOnConfiguration Change()应该只用于保留加载成本高昂的数据。那么,它真的好用吗?或者下面的答案更合适?好吧,这取决于你的活动是做什么的,你说你的活动执行了很长的工作,所以,我想你下载了很多数据或东西,那么在这种情况下,我会使用OnRetainonConfiguration Changed。。。但在其他情况下(取决于用例),我会使用OnConfiguration Changed()…感谢您的解释。。我会去做更多的测试,然后我把我决定的。。。无论如何谢谢你!当点击你的链接时,我得到404。也许他们已经更改了链接,但是你会在这里找到:谢谢!我在这里做了一些测试,它也很棒=)
android:configChanges="keyboardHidden|orientation"