我的问题来自 ListView。如果没有按钮,ListView 的.setOnItemClickListener可以正常工作。(开始一个活动)
在我将按钮添加到 ListView 的项目中时,按钮是可点击的,但这些项目是不可点击的......
我尝试使用myListView.setItemCanFocus(true);
,但它不起作用...
从 Button 中删除 focusable 属性可以解决这个问题。您可以在布局 xml 文件或 java 源代码中执行此操作。
还有一个提示,如果您使用 ImageButton 而不是 Button,则需要在您的 java 代码中设置 setFocusable 才能使其工作,因为 ImageButton 的构造函数会在从 xml 文件膨胀后启用此属性。
原因是您的列表视图中的按钮吸收了 onItemClickEvent。
一个很好解释的教程是here
对列表视图中的可点击按钮使用 onTouch() 回调可能会更好。然后,您应该能够单击列表项和按钮。有关某些代码,请参阅此问题(无需 touchDelegate)。
您可以在 ListView 的 .setOnItemClickListener 中使用它
view.findViewById(R.id.btn_id).setOnClickListener(new View.OnClickListener(){//your method})