Проблема вызова API Asynctask - PullRequest
2 голосов
/ 04 ноября 2011

В настоящее время я использую AsyncTask для вызова API и заполнения списка данными. У меня есть подменю, элементы которого могут вызывать AsyncTask для заполнения данных, проблема в том, что если я щелкаю быстро, я получаю объединенные результаты, очевидно, потому что AsyncTask работает одновременно с другими.

Каков наилучший способ справиться с такой ситуацией? Извините, если это любительский вопрос.

Ответы [ 2 ]

1 голос
/ 04 ноября 2011

Я бы использовал ProgressDialog, чтобы показать, что контент обновляется, а когда обновление завершится, dismiss() диалоговое окно.Пока это происходит, вы должны убедиться, что вы не принимаете сенсорный ввод на вашем ListView.(это может произойти по умолчанию, когда ProgressDialog впереди, я сейчас не помню ...)

Посмотрите на эту ссылку для примера.

0 голосов
/ 04 ноября 2011

Одновременно можно настроить только одну асинхронную задачу.Булева переменная, для которой установлено значение true, как только запускается асинхронная задача, и устанавливается значение false, как только она заканчивается.

Следующий вызов может ожидать, пока для этого значения будет установлено значение false.Вы также можете ограничить минимальное время, после которого имеет смысл только выполнение вызова API.

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