Может ли возвращаемый тип метода onPostExecute в AsyncTask быть не пустым? - PullRequest
1 голос
/ 01 марта 2012

Я разрабатываю приложение для Android, для которого требуется AsyncTask для сетевого подключения. Я выполнил метод doInBackground и передал возвращаемое значение методу onPostExecute . Я хочу вернуть некоторое значение из метода onPostExecute обратно в функцию, из которой он вызывается (я знаю, onPostExecute выполняется в основном потоке). Это возможно? Это как, onPostExecute возвращаемый тип должен быть пустым ?? Если нет, что вы предлагаете?

Заранее спасибо Maneesh

1 Ответ

1 голос
/ 01 марта 2012

Если вы хотите, чтобы AsyncTask возвращал значение, которое было бы получено напрямую, вам нужен блокирующий вызов, который противоречит цели AsyncTask.

Что вам нужно сделать, это расширить AsyncTask или обернуть его, затем создать поле, содержащее значение, которое вы хотите вернуть, и установить его изнутри onPostExecute. Затем в своем коде удерживайте ссылку на AsyncTask и проверьте это значение после завершения задачи.

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