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 后代(GallerySpinner 等)也将以相同的方式运行。

还有一个ONItemLongClick

View.OnClick 仅用于具有简单语义的控件,例如Button 只有一种“类型”的点击。

【讨论】:

以上是关于Android ListView OnItemClickListener 对比。查看 OnClickListener的主要内容,如果未能解决你的问题,请参考以下文章

Android——listview android:cacheColorHint,android:listSelector属性作用

38.Android之ListView简单学习

Android listview 的用法? 越详细越好。

Android——ListView

ListView / SimpleAdapter 不刷新 - Android

android 怎么让listview 不够一屏 占满一屏