[编辑]只是为了让它更短。我知道如何从 doInBackground 中更新 progressDialog。我正在寻找一种方法来更新不同类的进度,而 Async 类仍保留在主要活动中。[编辑]
在我的主要活动中,我有几个按钮,每个按钮执行不同的 AsyncTask。因为我想让我的代码保持良好,所以我想在不同的类中执行 doInBackground 内容,如下所示:
主要活动
@Override
protected ArrayList<Object> doInBackground(String... params) {
String query = params[0];
return OtherClass.performSomethingThatTakesTime(query);
}
@Override
protected void onPostExecute(final Object result) {
runOnUiThread(new Runnable() {
@Override
public void run() {
sendIntentToAnotherClass(result);
}
});
}
这时候我有整个 OtherClass.performSomethingThatTakesTime(query)
doInBackground 里面,我通过代码使用publishProgress(value)
. 但就像我说的那样,我希望将代码放在不同的类中,但我可以从不同的类更新 UI 的进度吗?