Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
xSCJx
22 / 19 / 1
Регистрация: 24.12.2012
Сообщений: 435
#1

AsyncTask - Программирование Android

08.02.2015, 14:57. Просмотров 432. Ответов 3
Метки нет (Все метки)

Привет. Знаю, что в AsyncTask doInBackground() обращатся к компонентам UI нельзя. Когда я пытаюсь обновить вывод (в EditText) в doInBackground(), то естественно получаю ошибку, но когда я считываю значение, то все нормально. Так что получается, обновлять UI нельзя, а брать с него значания можно?

P.S. И еще. нужно ли метод, который берет значение из EditText и передает его в AsyncTask помечать как synchronized?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2015, 14:57     AsyncTask
Посмотрите здесь:

Отмена AsyncTask - Программирование Android
Привет. Есть такой код: @Override protected Void doInBackground(Void... params) { try { Interpret(Source.get()); }...

Работа с AsyncTask - Программирование Android
Попробовал использовать AsyncTask и возник вопрос. У меня есть несколько ф-й, которые парсят текстовые файлы и заполняют таблицы БД. ...

AsyncTask+CheckBox - Программирование Android
Здравствуйте, интересует вопрос нужно в функцию AsyncTask послать несколько строк, в зависимости какие Чекбоксы чекнуты. Ну например: ...

Запуск нескольких AsyncTask - Программирование Android
Есть ListView там чекбоксы, при нажатии на чекбох запускается поток.. AsyncTaskWASAQ task = new AsyncTaskWASAQ(); task.execute(); ...

FATAL EXCEPTION: AsyncTask #3 - Программирование Android
Не могу понять в чем проблема гуглил ничего не смог найти (я новичек уж извините)). 01-21 12:29:10.019:...

Ожидание завершения AsyncTask - Программирование Android
Имеется класс "расширяющий" AsyncTask. Как я понимаю при создании объекта этого класса создается новый поток который выполняется...

AsyncTask и чтение XML - Программирование Android
Написал следущее: Но после нажатия на кнопку таск подвисает и через пару секунд приложение аварийно закрывается. ощибки из лога в...

Свой listview с AsyncTask - Программирование Android
Подскажите, что не так делаю. При запуске приложения listview просто не отображается. Переменные все прошелся дебагером, значения...

Отмена AsyncTask из FragmentDialog - Программирование Android
Здравствуйте, у меня задача отменить выполнение AsyncTask`a из диалога, который создается в этом таске. new AsyncTask<Void, Void, Void>()...

Заполнение ListView в AsyncTask - Программирование Android
Нужно заполнить ListView картинками, которые скачиваются в AsyncTask с помощью Picasso. Картинки скачиваются нормально, ArrayList и...

ArrayList не заполняется в AsyncTask - Программирование Android
Здравствуйте. В asyncTask есть такой код: String s = elements.get(0).text().split(": "); Log.d("1",s); ...

Завершение потока AsyncTask - Программирование Android
Доброго времени суток. Возникла проблема с закрытием потока. Первый раз код выполняется и все норм, но т.к. при нажатии на кнопку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 596
08.02.2015, 15:36     AsyncTask #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от xSCJx Посмотреть сообщение
Привет. Знаю, что в AsyncTask doInBackground() обращатся к компонентам UI нельзя. Когда я пытаюсь обновить вывод (в EditText) в doInBackground(), то естественно получаю ошибку, но когда я считываю значение, то все нормально. Так что получается, обновлять UI нельзя, а брать с него значания можно?
Не стоит, может возникнуть ситуация одновременного обращения, так что это будет работать в большинстве случаев, но вероятность ошибки будет присутствовать.

Добавлено через 35 секунд
Цитата Сообщение от xSCJx Посмотреть сообщение
P.S. И еще. нужно ли метод, который берет значение из EditText и передает его в AsyncTask помечать как synchronized?
Нет, если это выполняется до запуска потока, в противном случае, нужно.
xSCJx
22 / 19 / 1
Регистрация: 24.12.2012
Сообщений: 435
08.02.2015, 15:42  [ТС]     AsyncTask #3
Цитата Сообщение от contedevel Посмотреть сообщение
Нет, если это выполняется до запуска потока, в противном случае, нужно.
а если метод вызывается только в потоке, то не нужно?
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 596
08.02.2015, 15:58     AsyncTask #4
Цитата Сообщение от xSCJx Посмотреть сообщение
а если метод вызывается только в потоке, то не нужно?
Если метод работает в разных потоках, то да, в одном - не надо.
Yandex
Объявления
08.02.2015, 15:58     AsyncTask
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru