我创建了一个带有图像的列表视图和一些带有以下布局的文本,并且它有效。每当我点击文本“onListItemClick”被成功调用:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/image"
android:layout_width="40dip"
android:layout_height="40dip"
android:src="@drawable/icon"/>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
然后我在文字和图片之间添加了一个复选框,当我点击文字时我无法再获得点击次数,而且当我点击复选框时也没有:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/image"
android:layout_width="40dip"
android:layout_height="40dip"
android:src="@drawable/icon"/>
<CheckBox
android:id="@+id/check"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
有没有办法可以点击复选框和文字?
答案 0 :(得分:4)
复选框可能正在窃取焦点。
尝试在复选框上设置android:focusable="false"
。
附注:
请注意,有一种方法可以处理框架中的复选框选择,其中框架负责大部分工作。在列表中设置CHOICE_MODE_MULTIPLE并使用具有CheckedTextView的布局。您可以使用getCheckedItemIds()
获取ID。例如,参见android.R.layout.simple_list_item_multiple_choice。 api演示中有实现。
不要在可扩展列表视图上尝试此操作,因为它无法正确处理点击ID。
答案 1 :(得分:1)
我相信它与复选框的focusable属性有关,尝试将它设置为android:focusable中的“focusable =”false“