Android - Как сделать два асинхронных вызова в одном действии? - PullRequest
1 голос
/ 21 марта 2012

У меня есть действие, которое должно сделать два вызова удаленного сервера.Первый прост и происходит, когда страница загружается, и я просто звоню, чтобы получить некоторые данные и показать их ... без проблем.

Проблема возникает во втором вызове, потому что, когда я вызываю sendFeedback, он пытаетсявыполнить задачу, но метод doInBackground () был написан для исходного вызова, и, таким образом, параметры не будут работать, а также функция, которая вызывается, когда данные возвращаются из удаленного вызова, не будет одинаковой дляоба вызова.

Что обычно делается в ситуации, когда я сталкиваюсь с необходимостью сделать два разных удаленных вызова из одного занятия?

Спасибо!

Ответы [ 3 ]

3 голосов
/ 21 марта 2012

Как подсказывает dymmeh, просто используйте два разных подкласса AsyncTask.

2 голосов
/ 21 марта 2012

Просто создайте 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);

        }
    };
2 голосов
/ 21 марта 2012

Я не совсем понял, что вы хотите, но я думаю, вы говорите, что хотите сделать два асинхронных вызова последовательно со вторым, в зависимости от первого.

Если мое понимание верно, начнитевторой AsyncTask из метода onPostExecute() первого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...