【发布时间】:2013-09-09 02:34:45
【问题描述】:
我想在doInBackground() 的AsyncTask 中做一些工作时向用户询问一些细节(向用户显示一些带有 UI 线程中选择的对话框),并在用户选择后继续 doInBackground() 中的工作并选择对话框中的参数。
将此参数传输到doInBackground() 的最佳机制是什么?我应该如何暂停(并继续)执行doInBackground()(可能是object.wait() 和notify()?)的线程?我应该为此使用Handler 吗?
【问题讨论】:
-
你为什么不去另一个 AsyncTask 呢?喜欢在接受用户输入之后?
-
AsyncTask 实际上会进行数据库版本升级...并且用户需要为新列指定一些数据。拆分数据库升级到多个AsyncTask...看起来结果不会很漂亮。
-
看来我终于变成了这样的解决方案:我将在 onPreExecute() 中询问用户的所有信息...
-
不要那样做...只需确保在执行之前已提供所有信息。 (例如
onPreExecute) -
@SALMAN 我明天会解决它,因为现在我想睡觉 :) 并将标记/发布接受的解决方案