Android ListView OnItemClickListener против. Просмотр OnClickListener

Почему OnClickListener для представления внутри ListView не реагирует на щелчок трекбола по представлению, а OnItemClickListener для ListView реагирует на щелчок трекбола по одному из представлений ListView?


person WhiteTigerK    schedule 11.01.2010    source источник
comment
Каков ваш вариант использования прослушивателя событий щелчка ListView вне элементов списка?   -  person Roman Nurik    schedule 13.01.2010
comment
Я думаю, что у меня есть проблема - пока у меня есть только OnItemClickListener без OnClickListener для каждого представления, чем ответы OnItemClickListener как на события касания, так и на события трекбола. Спасибо.   -  person WhiteTigerK    schedule 13.01.2010
comment
Теоретически, если вы хотите разделить логику, вы также можете просто использовать OnItemClickListener для вызова OnClickListener. Таким образом, вы можете сохранить логику щелчка элемента в одном методе и общий щелчок в другом. Это не идеально, но по сути это похоже на переопределение метода и использование супервызова. P.S.-Определенно НЕ смотрел на дату этой вещи, когда писал. Извиняюсь!   -  person Matt D    schedule 07.12.2010
comment
Не совсем понятно, как выглядит ваш макет строки. Если в ваших строках нет интерактивного представления, когда OnItemClickListener вызывается по дизайну.   -  person The Dreams Wind    schedule 05.11.2018


Ответы (1)


То есть по дизайну.

Компонент ListView специально создан для запуска этих событий таким образом. Я считаю, что они фактически определены в абстрактном классе AdapterView. Другие потомки AdapterView (Gallery, Spinner и т. д.) будут вести себя так же.

Также есть ONItemLongClick.

View.OnClick используется только элементами управления с простой семантикой, например. Button где есть только один "вид" щелчка.

person escape-llc    schedule 17.10.2011