Вы можете запросить статус AsyncTask
с помощью getStatus()
, чтобы проверить, закончилась ли задание, а затем запустить другую задачу, но это будет означать постоянную проверку состояния задачи wach, и это не очень хорошая идея. ,
Вы также можете, как вы говорите, начать следующую задачу на onPostExecute
друг друга, но, видя имена ваших задач, я думаю, что вы также используете задания отдельно, поэтому это будет означать некоторый флаг для контролировать, должны ли выполняться задачи или нет.
Возможно, лучший подход может заключаться в создании нового AsyncTask
, который выполняет всю работу, выполняемую каждой из задач тура (может потребоваться некоторое рефакторинг для работы в методах, чтобы избежать дублирования кода).
Из документации:
AsyncTask разработан, чтобы быть вспомогательным классом вокруг Thread и обработчика и не является общей основой потоковой.
Так, может быть, в вашем случае AsyncTask
не является правильным инструментом, чтобы сделать работу, и вы должны думать об использовании простые темы, как @ZygoteInit предлагает.
Ваше название и должность немного неясны. Вы хотите, чтобы они исполнялись серийно или параллельно? –
Последовательно, извините, если неясно – Ben
Это поведение по умолчанию, как и у Honeycomb. Проверьте раздел _Order of execution_ здесь: http://developer.android.com/reference/android/os/AsyncTask.html –