Задать вопрос
@Marox
Человек

Где лучше взаимодействовать с view?

Где лучше взаимодействовать с view: в методе onPostExecute в классе-наследнике AsyncTask, или методом get() получать результат метода doInBackground в activity и уже там взаимодействовать с вью?
  • Вопрос задан
  • 206 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Android-разработчик
    12 месяцев
    Далее
  • Нетология
    Android-разработчик с нуля
    14 месяцев
    Далее
  • LearnQA
    Автоматизатор мобильных приложений
    9 недель
    Далее
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Лучше постараться поменьше использовать AsyncTask, Но:
1) AsyncTask - для выполнения асинхронных операций.
2) .get() превращает её в синхронную (doInBackground() выполняется не на MainThread, но MainThread ждёт окончания выполнения).

Так что ответ - конечно же в onPostExecute! Потому что иначе весь смысл использования AsyncTask'a теряется.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
artemgapchenko
@artemgapchenko
В методе onPostExecute(). Метод get() блокирует работу потока, вызвавшего этот метод (в вашем случае это будет ui-поток, если вы хотите взаимодействовать со View) пока doInBackground() не закончит свою работу.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы