当前位置: 首页 > 知识库问答 >
问题:

无法从另一个 ASyncTask 调用 ASyncTask

堵彬彬
2023-03-14

我看了其他问题,但我无法澄清从另一个任务调用一个任务的疑问,我有以下代码:

protected List<Plan> doInBackground(String... params) 
    try {
        JSONParsePlans parseJSON = new JSONParsePlans();
        return parseJSON.execute(params[0], params[1], params[2]).get();
    } catch (InterruptedException e) {
        e.printStackTrace();
        return null;
    } catch (ExecutionExeption e) {
        e.printStackTrace();
        return null;
    }
}

parseJSON是一个任务,当我运行程序时,它什么也不做,甚至不调用任务,这就像Android为了安全而忽略的一样。

共有2个答案

益稳
2023-03-14

可以从一个异步任务调用另一个异步任务

但仅在onProgressUpdate()或onPostExecute()内部

原因-因为这些方法在UI线程上运行。因此,通过选择上面列出的两个方法之一在UI线程上启动第二个AsyncTask。

史绍晖
2023-03-14

根据这篇StackOverflow帖子:

但仅限于onProgressUpdate()或onPostExecute()内部,因为这些方法在UI线程上运行。因此,通过选择上面列出的两个方法之一来启动UI线程上的第二个AsyncTask。

因此,您可以从另一个AsyncTask调用一个AsyncTask,只要它运行在这两个方法中的任何一个中。

还有另一个StackOverflow帖子在这里解决了这个问题

 类似资料:
  • 我的想法是,我启动一个异步任务,从Tweeter获取状态...在这里之前一切正常...但是当我遇到一些特定的tweets时,我需要用服务器上的一些信息来修改它们,这里我将进行另一个网络操作,因为我需要等待,直到我从服务器上获取信息,我做: 这是从doInBackground()方法中的allready启动的AsyncTask启动的... 我知道我可以在AsyncTask中添加方法并在doInBac

  • 服务1: 服务2: 网状物xml: 我无法从servlet1调用一个到另一个servlet2我不知道在sservlet2哪里做错了,我们必须给出名称类或URL模式,请检查servlet 1的代码。

  • 问题内容: 我正在研究一个问题,但由于刚开始学习Java而感到非常困惑。我可以理解的任何帮助都会很棒。我必须编写一个具有两个类的程序。主类将从文件中读取内容,并使用第二类来查找文件中相同单词被重复的次数,然后将它们添加到包含单词和单词重复次数的数组中。我可以阅读文件部分。我只是似乎不知道如何从第二个类调用方法以将单词添加到数组并增加计数器。到目前为止,这是我的代码,如果您运行它,您将看到多少错误会

  • 问题内容: 我知道这个问题是重复的,但是我在Internet上找不到答案。 我想从另一个类调用一个方法。 我有Class1和Class2。 在第2类中,我具有该方法: 我想从Class1调用该方法。 感谢您的任何答复。 - - 编辑 - - -— LogCat– 问题答案: 您应该使用以下代码: 如果您不想创建一个新的实例来调用该方法,则可以将方法标为十进制,然后只需调用即可。

  • 问题内容: 在Python中,有没有一种方法可以从另一个类中调用一个类方法?我正在尝试在Python中旋转自己的MVC框架,但无法弄清楚如何从另一个类的一个类调用方法。 这是我想发生的事情: 我正在从PHP慢慢进入Python,因此我正在寻找与PHP等效的Python 。 问题答案: 更新:刚刚在您的帖子中看到了对它的引用。那不一样。用于获取函数对象,然后使用您的参数调用它 现在是一个实际的函数对

  • 问题内容: 我已经尝试了一段时间(同样,在这里搜索),当在其他片段中按下按钮时,它可以帮助我刷新MainFragment中的listView。Sommeone可以解释一下如何使其工作吗? 这是带有函数的MainFragment(我不包括其他函数,因为我看不到它们如何起作用): } 这是另一个片段: } 问题答案: 这段代码最适合我。似乎很容易