Модераторы: javastic
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> setOnClickListener сбрасывает клик 
V
    Опции темы
semibug
Дата 11.2.2013, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 323
Регистрация: 27.3.2009

Репутация: нет
Всего: нет



Прошу прошения, новичок в Java/Adnroid, возможно не правильно понял проблему.

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

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

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

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

В идеале получить корректную реакцию на касания, с паралельным обновлением содержимого таблицы. Подскажите пожалуйста в какую сторону посмотреть.
PM   Вверх
semibug
Дата 17.2.2013, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 323
Регистрация: 27.3.2009

Репутация: нет
Всего: нет



В итоге сделал свой CustomView, который рисует таблицу и уже на него поставил обработчики кликов, проблема исчезла.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Android | Следующая тема »


 




[ Время генерации скрипта: 0.0613 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.