我有一个从一个 Activity 启动的 AsyncTask。它将一些数据保存到 sqlite 数据库中,可能需要几秒钟的时间。我在 onPreExecute() 中设置了一个标准进度条,并在 onPostExecute() 中将其关闭,并在 doInBackground(Void...arg0) 中进行了一些工作。
任务完成后我需要返回活动并完成()它。问题是我似乎无法弄清楚如何等待 AsyncTask 完成。我可以计算出状态,但这对我没有帮助。
public class UpdateAsyncTask extends AsyncTask<Void, Void, Boolean> {
@Override
protected void onPreExecute() {
progress = new ProgressDialog(context);
progress.setMessage("Loading ...");
progress.show();
}
@Override
protected Boolean doInBackground(Void... arg0) {
// Do work
return true;
}
protected void onPostExecute() {
progress.dismiss();
}
}
一旦完成,我需要对主要活动做些什么来调用finish()。谢谢你的时间
更新执行任务
UpdateAsyncTask task = new UpdateAsyncTask(context);
task.setCallbackActivity(this);
task.execute();
更新 2 aynctask 是一个单独的任务,因为我希望重新使用它