Android - 如何在一个Activity中进行两次异步调用?

时间:2012-03-21 17:47:56

标签: android android-asynctask android-activity

我有一项需要进行两次远程服务器调用的活动。第一个是简单的,当页面加载时发生,我只是打电话来获取一些数据并显示它......没问题。

问题发生在第二次调用中,因为一旦我调用sendFeedback,它就会尝试执行任务,但doInBackground()方法是为原始调用编写的,因此参数不起作用,而且函数也是从远程调用返回数据时调用的内容对于两个调用都不一样。

在我需要从一个Activity进行两次不同远程调用的情况下,通常会做什么?

谢谢!

3 个答案:

答案 0 :(得分:3)

正如dymmeh建议的那样,只需使用两个不同的AsyncTask子类。

答案 1 :(得分:2)

我无法完全按照您的意愿行事,但我认为您说要按顺序进行两次异步调用,第二次调用取决于第一次。

如果我的理解是正确的,请从第一个AsyncTask方法开始第二个onPostExecute()

答案 2 :(得分:2)

只需在需要的地方创建2个AsyncTask。

  new AsyncTask<String, Void, Object>() {
        @Override
        protected Object doInBackground(String... params) {
                    // put task here

        }

        @Override
        protected void onPostExecute(Object result) {
            super.onPostExecute(result);

        }
    };