Android: при нажатии кнопки или TextView мое приложение показывает ANR - PullRequest
0 голосов
/ 11 февраля 2012

Я пытаюсь выполнить какую-то тяжелую задачу, нажимая кнопку, и хочу изменить состояние кнопки, которая мгновенно меняется, когда я нажимаю эту кнопку, но этого не происходит. Он меняется только тогда, когда задача выполнена. Думаю, мне следует использовать многопоточность, поскольку я тоже использую взаимодействие с веб-сервисами.

Любое лучшее решение, пожалуйста.

Ответы [ 2 ]

4 голосов
/ 11 февраля 2012

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

Посмотрите на эту статью о многопоточности от Google и используйте примеры из него, чтобы переписать ваше приложение.

1 голос
/ 11 февраля 2012

Вы могли бы поместить часть кода для изменения кнопки перед тяжелым кодом в onClickListener, тогда сначала выполнялась бы часть пользовательского интерфейса.

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