我有一个listview和一个自定义适配器.
在我的列表视图中我设置了这个:
lv.setOnItemClickListener(…)
一切都很好.但是,当我开始滚动它没有.当我慢慢向下滚动时它是稳定的(onItemClick被调用)但是当我向下滚动更快或向下滚动时&快几次,选择一个项目不会触发事件.但是,如果我稍等一下或继续点击一个项目或慢慢滚动到顶部,它会随机工作.
有时,当我单击某个项目时,它会显示黄色背景(并且未调用onItemClick).
有时橙色背景会在我停止触摸后停留(并且onItemClick未被调用).
有时背景根本不会改变(并且onItemClick没有被调用).
有时它有效.
列表中的项目由几个textView / imageview / linearlayout(我为每个focusable设置= false,它没有改变)组成,并使用视图持有者动态充气.
有人知道什么是错的或有想法如何调试它?
(源代码太大了,不能粘贴在这里,如果你愿意,我可以发给你源代码或apk)
解决方法
将此行添加到listview自定义行xml文件的父布局中
机器人:descendantFocusability = “blocksDescendants”
机器人:descendantFocusability = “blocksDescendants”
也
在你的充气机的文本视图(自定义行视图)布局中添加:
机器人:可聚焦=“假”机器人:focusableInTouchMode = “假”