| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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, который рисует таблицу и уже на него поставил обработчики кликов, проблема исчезла. |