我有一个AsyncTask,我从一个Activity开始。它将一些数据保存到sqlite数据库,并可能需要几秒钟的时间。我在onPreExecute()中设置了一个标准进度条,并在onPostExecute()中关闭它,并在doInBackground(Void ... arg0)中执行一些工作。确定AsyncTask何时完成
什么我需要一旦任务已完成返回到活动并完成()它。麻烦是我似乎无法解决如何等待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();
}
}
什么我需要做的主要活动调用完成()一旦完成。感谢您的时间
UPDATE EXCUTE通过
UpdateAsyncTask task = new UpdateAsyncTask(context);
task.setCallbackActivity(this);
task.execute();
更新2 的aynctask任务是一个单独的任务,我想重新使用它
onPostExecute()在任务完成时发生。它是用这种方式自己设计的处理程序设计的,因此您应该使用它来完成您要完成的任何任务。 –
我可能还没有理解你的问题......你是否试图在任务完成后完成活动? –
是的。主要活动调用AsyncTask,一旦完成,我想在活动 –