我有一个 ListView 和一个自定义适配器。
在我的 ListView 中,我设置为:
lv.setOnItemClickListener(...)
一切正常。但是当我开始滚动时却没有。虽然我缓慢向下滚动它是稳定的(称为onItemClick),但是当我更快地向下滚动或快速向下和向上滚动几次时,选择一个项目不会触发事件。但是,如果我稍等片刻或继续单击某个项目或缓慢滚动至顶部,则它会随机运行。
有时,当我单击一个项目时,它会显示黄色背景(并且不会调用onItemClick)。
有时即使我停止触摸后橙色背景仍然停留(并且不会调用onItemClick)。
有时背景根本不会改变(并且不会调用onItemClick)。
有时它会起作用。
列表中的项目由数个textView/imageview/linearlayout(我为每个focusable = false设置,它什么也没改变)组成,并通过 View 持有者进行动态填充。
有人对什么地方有错误的想法还是对它进行调试的想法?
(源代码太大,无法在此处粘贴,如果您愿意,我可以将源代码或apk发送给您)
最佳答案
将此行添加到listview定制行xml文件的父级布局中
android:descendantFocusability =“blocksDescendants”
还
在充气机(自定义行 View )布局的文本 View 中,只需添加:
android:focusable =“false”
android:focusableInTouchMode =“false”
关于android - ListView onItemClick有时不响应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5212608/