【追記】短くするだけです。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 の進行状況を更新できますか?