Android ListView OnItemClickListener 对比。查看 OnClickListener
Posted
技术标签:
【中文标题】Android ListView OnItemClickListener 对比。查看 OnClickListener【英文标题】:Android ListView OnItemClickListener Vs. View OnClickListener 【发布时间】:2011-01-03 21:06:02 【问题描述】:为什么 ListView 内的 View 的 OnClickListener 不响应轨迹球点击视图,而 ListView 的 OnItemClickListener 却响应轨迹球点击 ListView 的视图之一?
【问题讨论】:
列表项之外的 ListView 点击事件监听器的用例是什么? 我想我遇到了问题 - 只要我只有一个 OnItemClickListener,每个视图都没有 OnClickListener,而不是 OnItemClickListener 对触摸和轨迹球事件的响应。谢谢。 理论上如果你想“分离”逻辑,你也可以只使用 OnItemClickListener 来调用 OnClickListener。这样,您可以在一种方法中保留“项目点击”逻辑,而在另一种方法中保留“一般点击”。它并不完美,但本质上就像覆盖方法并使用超级调用。 P.S.-我发帖时绝对没有看这件事上的日期。对不起! 不太清楚你的行布局是什么样子的。如果您的行中没有可点击的视图,则当 OnItemClickListener 被设计调用时。 【参考方案1】:这是设计使然。
ListView
组件专门用于以这种方式触发这些事件。我相信它们实际上是在AdapterView
抽象类中定义的。其他 AdapterView
后代(Gallery
、Spinner
等)也将以相同的方式运行。
还有一个ONItemLongClick
。
View.OnClick
仅用于具有简单语义的控件,例如Button
只有一种“类型”的点击。
【讨论】:
以上是关于Android ListView OnItemClickListener 对比。查看 OnClickListener的主要内容,如果未能解决你的问题,请参考以下文章
Android——listview android:cacheColorHint,android:listSelector属性作用