2010-02-14 19 views
11

在ListView的适配器中,我返回一个LinearLayout,在其中添加一个Checkbox,一个ImageView和一个TextView。这基本上构造了一个ListView,其中每个项目包含一个复选框,一个ImageView和一个TextView。然而奇怪的是,如果我不添加复选框,那么ListView会正确接收onItemClick事件,只要我添加复选框,ListView的onItemClick永远不会再次被触发,就好像复选框将所有的OnClick事件传递给列表显示。添加一个CheckBox到ListView项目防止它能够接收ItemClick

任何想法如何解决这个问题?我希望用户能够选中/取消选中复选框,同时还可以点击这些ListView项目,如果他们点击了复选框以外的ListView项目的区域。

回答

19

设置所有项目focusable =“false”

+5

感谢jax,这解决了我的问题!我刚刚测试过,实际上,我不必将所有项目设置为focusable =“false”,只需要禁用可复选框即可。 –

+0

这对我不起作用,CheckBox仍然可以在focusable设置为false时自行点击。有任何想法吗? – JMRboosties

+0

如果是这种情况,请转至其适配器和setOnClick侦听器的GetView。并设置为False。每个复选框。 @JMRboosties – gumuruh