Listview onItemClick有时没有响应

时间:2011-03-06 18:46:13

标签: android listview

我有一个listview和一个自定义适配器。

在我的列表视图中我设置了这个:

lv.setOnItemClickListener(...)

一切正常。但是当我开始滚动时却没有。当我慢慢向下滚动时它是稳定的(onItemClick被调用),但当我向下滚动更快或向下滚动时&快几次,选择一个项目不会发生事件。但是,如果我稍等一下或继续点击一个项目或慢慢滚动到顶部,它会随机工作。

有时当我点击某个项目时,它会显示黄色背景(而onItemClick不会被调用)。 有时橙色背景会在我停止触摸后停留(并且onItemClick未被调用)。 有时背景根本不会改变(并且onItemClick没有被调用)。 有时候它有效。

列表中的项目由几个textView / imageview / linearlayout(我为每个focusable设置= false,它没有改变)组成,并使用视图持有者动态充气。

有人知道出了什么问题或有想法如何调试吗?

(源代码太大了,不能粘贴在这里,如果你愿意,我可以发给你源代码或apk)

2 个答案:

答案 0 :(得分:2)

将此行添加到listview自定义行xml文件的父布局中 android:descendantFocusability =“blocksDescendants”

另外 在您的充气机的文本视图(自定义行视图)布局中添加:

机器人:可聚焦= “假” 机器人:focusableInTouchMode = “假”

答案 1 :(得分:1)

我有类似的问题。我的ListView项目包含一个包含ImageView和TextView的LinearLayout。除了我的布局以下内容:

android:descendantFocusability="blocksDescendants"

以及我的TextView和ImageView的以下内容,如另一个答案所示:

android:focusable="false"
android:focusableInTouchMode="false"

我还将此添加到我的ImageView:

android:clickable="false"