2011-06-08 57 views
10

我的问题来自ListView。没有按钮,ListView的.setOnItemClickListener工作正常。 (开始活动)Android:带按钮的ListView - > OnItemClick什么都不做

在时间,我将按钮添加到ListView中的项,按钮是可以点击的,但项目没有更多的点击...

我尝试使用myListView.setItemCanFocus(true);但它不工作...

+0

我不能得到你的问题。按钮是可点击的,当你添加onCLickListener和项目时setOnItemClickListener。你能更准确地解释你添加了什么以及在哪里? – Stuti 2011-06-08 06:55:17

+0

让列表视图中的按钮听起来很奇怪。你有没有想过使用上下文菜单呢? – 2011-06-08 06:56:58

+0

@Stuti:我无法得到你的写作。你能写“你”而不是“你”吗?我们应该保持这里的语言清洁。谢谢 – WarrenFaith 2011-06-08 21:17:24

回答

0

可以在.setOnItemClickListener使用ListView控件的

view.findViewById(R.id.btn_id).setOnClickListener(new View.OnClickListener(){//your method}) 
2

这可能是最好使用onTouch()回调为ListView内的可点击按钮。然后,您应该可以在列表项和按钮上单击。有些代码参见this question(不需要touchDelegate)。

2

原因是你的listview中的按钮吸收了onItemClickEvent。

一个很好的解释教程here

34

从按键上移开可获得焦点属性将解决这个问题。您可以在布局xml文件或Java源代码中执行此操作。

还有一个提示,如果您使用ImageButton而不是Button,则需要在java代码中使用setFocusable来使其工作,从而导致ImageButton的构造函数在从xml文件膨胀后会启用此属性。

+2

你刚刚救了我的一天。非常感谢!!! – 2012-10-26 15:20:12

+0

这太好了。比其他解决方法更快。谢谢!对于任何不知道如何执行此操作的人,只需在您的XML文件的按钮中添加android:focusable =“false”即可。 – 2014-05-10 17:09:22

+0

非常感谢!对于读者来说:对于Button来说,这是一个真正的解决方案,我检查它。 – DenisMath 2015-01-12 13:06:39