【发布时间】:2012-11-27 05:46:38
【问题描述】:
在我的一项活动中,我使用了AsyncTask。在doInBackground() 中,我正在调用各种方法。在其中一种方法中,我遇到了异常,因此在 catch 块中,我想在 Toast 中显示错误。
我知道我可以使用Log,但我仍然更喜欢 Toast。
那么,如何在 doInBackground() 中的 AsyncTask 中使用 Toast?
【问题讨论】:
-
为什么你没有从 doInBackground() 将错误重新调整到 onPostExecute,然后在 onPostExecute 的吐司中出现这个错误
-
你不能从 doInBackground() 方法修改 UI,尝试返回一些结果,并在 onPostExecute() 方法中测试该结果,如果是,那么显示 Toast跨度>
-
@Sam:简单的人!我没有投反对票,我刚刚添加了我的评论,我知道您可以在
doInBackground()中授予访问权限,但不建议这样做,如果是这样,那么为什么有方法onProgressUpdate()和 @ 987654326@?? -
在这里考虑用户。真正的答案是,你可能一开始就不应该扔 Toast。作为开发人员,很高兴看到您在后台尝试执行的任何操作的更新。但是你的用户真的在乎吗?当您尝试从
doInBackground更新 UI 时,您正在与框架作斗争。