【问题标题】:How to show a yes/no dialog in AsyncTask onPostExecute()如何在 AsyncTask onPostExecute() 中显示是/否对话框
【发布时间】:2013-12-06 10:33:21
【问题描述】:

我需要在AsyncTask.onPostExecute() 中显示一个是/否对话框,但我不断收到

java.lang.IllegalStateException: onSaveInstanceState 后无法执行此操作

在显示对话框之前旋转屏幕时。我在 onActivityResult 中显示对话框时遇到了类似的问题,但后来将对话框移至 onPostResume() 正如其他帖子所建议的那样,但我无法解决这个问题。

是否可以在onpostexecute() 中显示是/否对话框而不会导致异常并且不使用“commitAllowingStateLoss”? 非常感谢您的帮助。

【问题讨论】:

  • 这个article 解释了正在发生的事情以及如何很好地处理这种情况。

标签: android android-asynctask android-dialog


【解决方案1】:

我认为您应该保持调用对话框的活动状态,因为每次活动方向更改时 onCreate() 函数调用并且如果您在其中启动任何 AsyncTask ,那么它将再次执行它。可能这就是您面临问题的原因。只需保持其状态,然后检查一下,希望对您有所帮助。

只需将此代码添加到该活动的清单文件中即可。只需根据需要输入横向或纵向即可。

  android:screenOrientation="portrait/landscape"

谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多