Android ListView с интерактивными элементами в его строках вызывает проблемы с продолжением прокрутки

Я рыскал по Интернету в поисках ответа несколько часов, но не могу найти никого, кто мог бы решить эту проблему.

У меня есть список который использует специальный адаптер. Строка выглядит так

alt text

Список заполняется массивом. Все отлично работает.

Теперь я хочу, чтобы ImageView и ToggleButton реагировали на щелчки, поэтому я реализую OnClickListener в своем адаптере, помещаю позиции элементов в каждый тег представления, а затем устанавливаю их onclicklistener на это.

Отлично работает, но теперь я не могу использовать onListItemClick для запуска действия для элемента! Хорошо, говорю я, я просто заставляю относительный макет, содержащий текст посередине, использовать тот же onclicklistener. Прекрасно работает. Все кликабельно, и жизнь хороша.

ИСКЛЮЧАЯ! Теперь, когда я прокручиваю список, я не могу «продолжить» прокрутку, просто бросив еще раз. Это приводит к остановке прокрутки, и мне нужно бросить еще раз, чтобы она заработала снова. Кажется, что onclick-thingy заставляет бросковое движение интерпретироваться как касание или что-то в этом роде (это не запускает логику внутри onClick).

Я знаю, что это возможно, просто зайдя в список телефонов в моем HTC Hero, который имеет именно тот вид и поведение, которое я хочу от своего приложения. Кажется, что в этом приложении даже работает onItemClickListener.

Итак, как я могу убедиться, что список продолжает прокручиваться и по-прежнему иметь возможность нажимать кнопку переключения, элемент списка и просмотр изображения? Я застрял в этом весь день, и у меня от этого болит голова: (

5
задан Stefan Rasmusson 19 January 2015 в 12:18
поделиться