android listview,点击行为不一致

时间:2015-04-06 14:51:05

标签: android listview

我有一个列表视图,其中的许多视图都有自己的clicklistener,它们执行不同的操作,但行为不一致。

a)有些点击监听器正常工作。他们打开他们应该开展的活动。

b)有些点击听众只是没有显示点击状态,我的观点有android:background="?attr/selectableItemBackground"

c)有些点击听众根本无法工作

我傻眼了,因为所有观点都有:

android:clickable="true"
android:duplicateParentState="true"

某些工作与不起作用的视图具有相同的属性。一个LinearLayout响应点击,而另一个不响应。这是非常恶化的,我没有看到我错过的

1 个答案:

答案 0 :(得分:1)

如果您有ImageButton,那么:

在这些项目的布局xml中,添加

     android:descendantFocusability="blocksDescendants" 

到根视图。

它适用于具有ImageButtons的ListView。根据官方参考,blocksDescendants意味着ViewGroup将阻止其后代获得焦点。

否则删除

 android:clickable="true"
 android:duplicateParentState="true"

来自您的商品,

并为getView()方法中的每个视图设置OnClickListener。