我有4个AsyncTask从服务器更新我的数据库,但每个数据库都有相当多的数据,所以我想在最后一个数据库结束后启动每个Asynctask,
点击一个按钮,我尝试了“IF”,但我没有成功,所以我在这里发布我的代码让你们帮助我...
“我只是试图这样做,但是eclipse没有编译这段代码,因为这是错误的,所以因为我认为我的知识限制,就像任何解决方案一样?”
atualiza_base = (Button) findViewById(R.id.update_button);
atualiza_base.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
new callServiceCliente().execute();
if (calServiceCliente().getStatus == FINISHED) {
new callServiceMaterial().execute();
}else if (callServiceMaterial().getStatus == FINISHED) {
new callServiceProblema().execute();
}else if (callServiceProblema().getStatus == FINISHED) {
new callServiceProcedencia().execute();
Toast.makeText(this, "Database Updated", Toast.LENGTH_LONG).show();
}
非常感谢...
答案 0 :(得分:2)
在每个AsyncTask类中,调用onPostExecute
方法中的下一个AsyncTask。
答案 1 :(得分:2)
点击按钮首先开始AsyncTask
,然后点击每个AsyncTask
的 onPostExecute()方法(最后AsyncTask
除外)执行下一个AsyncTask
。这将解决您的问题。
确保您在 doInBackground()方法中处理了异常,以便调用 onPostExecute()。