Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Android > setOnClickListener сбрасывает клик


Автор: semibug 11.2.2013, 13:52
Прошу прошения, новичок в Java/Adnroid, возможно не правильно понял проблему.

Имеется таблица, в ячейках которой отображается часто меняющаяся информация от удаленных устройств. Для взаимодействия с устройствами (открывается диалог) использую события касания и длительного касания.

В качестве таблицы используется GridView с кастомным адаптером на базе BaseAdapter.
Каждые полсекунды обновляю состояние на экране с помощью вызова адаптер.notifyDataSetChanged().
Касания (особенно длительное касание) часто не срабатывают, причем этот эффект исчезает, если перестать дергать notifyDataSetChanged().

Сами обработчики устанавливаются через setOnClickListener в перегруженом методе getView у адаптера (для каждой ячейки таблицы).

Так понимаю, что каждый раз при вызов notifyDataSetChanged() происходит вызове getView адаптера, и повторная установка обрабочиков кликов, что в свою очередь отменяет текущее событие касания.

В идеале получить корректную реакцию на касания, с паралельным обновлением содержимого таблицы. Подскажите пожалуйста в какую сторону посмотреть.

Автор: semibug 17.2.2013, 16:48
В итоге сделал свой CustomView, который рисует таблицу и уже на него поставил обработчики кликов, проблема исчезла.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)