我为ListView创建了一个自定义ArrayAdapter,以便使用一些元素自定义列表的行。
我遇到的问题是我无法选择项目,单击时没有任何反应。这是我必须在我的自定义ArrayAdapter中实现的吗?它只有一个构造函数和一个getView方法。当我实例化我的列表并实现onListItemClick时,它被忽略,所以我认为它与我的自定义适配器有关...我已经通过示例进行了研究,但我什么都没找到。
我该怎么办?
编辑:在每行中我使用的是Checkbox,以及包含TextViews的LinearLayout。此LinearLayout是应该可选择的。
答案 0 :(得分:6)
我认为问题是Android不允许您选择具有可聚焦元素的列表项。
将lisview中的复选框设置为“无法对焦”。
详情请参阅:
android:focusable="false"
Android custom ListView unable to click on items
<checkbox>.setFocusable(false)
答案 1 :(得分:1)
我在这个问题上一直在努力奋斗!这就是你的listitem应该是layout / xml的样子:
此行应位于您正在使用的所有TextView和其他组件上:
android:focusable="false"
android:clickable="false"/>
我对listitem的layout.xml:
<?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="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/textWhiteTheme"
style="@style/list_item_wh"
android:focusable="false"
android:clickable="false"/>
</LinearLayout>
</LinearLayout>