У меня есть активность, которая должна выполнять два вызова удаленного сервера. Первое простое и происходит, когда страница загружается, и я просто звоню, чтобы получить некоторые данные и показать их... нет проблем.
Проблема возникает во втором вызове, потому что, как только я вызываю sendFeedback, он пытается выполнить задачу, но метод doInBackground() был написан для исходного вызова, и, следовательно, параметры не будут работать, а также функция, вызываемая при данные возвращаются с удаленного вызова, не будут одинаковыми для обоих вызовов.
Что обычно делается в ситуации, с которой я столкнулся, когда мне нужно сделать два разных удаленных вызова из одной активности?
Благодарю!
Как предполагает dymmeh, просто используйте два разных подкласса AsyncTask
.
Я не мог полностью выполнить то, что вы хотите, но я думаю, вы говорите, что хотите сделать два асинхронных вызова последовательно со вторым в зависимости от первого.
Если мое понимание верное, запустите вторую AsyncTask
из onPostExecute()
первого.
Просто создайте 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);
}
};