Android如何等待AlertDialog检查?

Android如何等待AlertDialog检查?,android,error-handling,dialog,android-alertdialog,Android,Error Handling,Dialog,Android Alertdialog,我正在使用AlertDialog.Builder创建一个AlertDialog,并显示它。显示它之后,我需要暂停应用程序,直到用户确认对话框 我确实需要在显示对话框线程的方法中暂停,因为它的调用方法在返回后会抛出致命错误 有什么方法可以做到这一点吗?在Android中,您不能暂停UI线程,因为它会导致操作系统在暂停大约5秒后显示应用程序没有响应对话框 此外,正如Commonware在评论中提到的,对话框不会在单独的线程中运行 如果没有看到您的代码,回答起来有点困难,但我现在建议您将所有需要“暂停

我正在使用
AlertDialog.Builder
创建一个
AlertDialog
,并显示它。显示它之后,我需要暂停应用程序,直到用户确认对话框

我确实需要在显示对话框线程的方法中暂停,因为它的调用方法在返回后会抛出致命错误


有什么方法可以做到这一点吗?

在Android中,您不能暂停UI线程,因为它会导致操作系统在暂停大约5秒后显示
应用程序没有响应
对话框

此外,正如Commonware在评论中提到的,对话框不会在单独的线程中运行

如果没有看到您的代码,回答起来有点困难,但我现在建议您将所有需要“暂停”的代码放在
AsyncTask

您可以将所有代码放在暂停之前的
onPreExecute()
方法中,然后显示对话框,也可以放在
doInBackground()
方法中,可以放在while循环中,或者放在带有易失变量的某个循环中,或者放在某个东西中(此代码在后台线程上运行,因此不会卡住UI线程)然后在
onPostExecute()
方法中暂停后显示代码。
onPreExecute()
onPostExecute()
都在UI线程上运行。
doInBackground
完成后,将调用
onPost

但再一次,若你们能展示一些暂停的代码,它会更容易帮助你们


进一步阅读:

另一种处理方法是使用线程。在非UI线程中,使用
活动的
runOnUiThread()
方法调用
AlertDialog
show()
方法。在非UI线程中调用
Object.wait()
,在
AlertDialog
OnClickListener
中调用
Object.notifyAll()
。然后,非UI线程将等待用户单击您的
AlertDialog

“显示它之后,我需要暂停应用程序,直到用户打开对话框”——Android中没有这样的概念。“我确实需要在显示对话框线程的方法中暂停”--在Android中对话框没有线程。所有UI,无论是活动还是对话框,都通过主应用程序(“UI”)线程呈现。“因为它的调用方法在返回后会抛出致命错误”--大概,您的应用程序中有一个bug需要修复。也许你应该考虑编辑你的问题,提供你的“致命错误”的堆栈跟踪以及代码的相关部分。请在问题中附上代码。