我有一个列表视图,其中的许多视图都有自己的clicklistener,它们执行不同的操作,但行为不一致。
a)有些点击监听器正常工作。他们打开他们应该开展的活动。
b)有些点击听众只是但没有显示点击状态,我的观点有android:background="?attr/selectableItemBackground"
c)有些点击听众根本无法工作
我傻眼了,因为所有观点都有:
android:clickable="true"
android:duplicateParentState="true"
某些工作与不起作用的视图具有相同的属性。一个LinearLayout
响应点击,而另一个不响应。这是非常恶化的,我没有看到我错过的
答案 0 :(得分:1)
如果您有ImageButton,那么:
在这些项目的布局xml中,添加
android:descendantFocusability="blocksDescendants"
到根视图。
它适用于具有ImageButtons的ListView。根据官方参考,blocksDescendants意味着ViewGroup将阻止其后代获得焦点。
否则删除
android:clickable="true"
android:duplicateParentState="true"
来自您的商品,
并为getView()方法中的每个视图设置OnClickListener。