【问题标题】:how to call AsyncTask sequentially如何按顺序调用 AsyncTask
【发布时间】:2014-12-08 13:59:48
【问题描述】:

我有 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();
            } 

非常感谢...

【问题讨论】:

标签: android if-statement android-asynctask controls


【解决方案1】:

点击按钮首先启动AsyncTask,然后在每个AsyncTask(除了最后一个AsyncTask)的onPostExecute()方法中执行下一个AsyncTask。这将解决您的问题。

确保您在 doInBackground() 方法中处理了您的异常以调用 onPostExecute()

【讨论】:

    【解决方案2】:

    在每个 AsyncTask 类中,调用 onPostExecute 方法中的下一个 AsyncTask。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      相关资源
      最近更新 更多