我正在尝试创建一个ListView
与 Gmail 应用程序类似的应用程序,其中每一行CheckBox
左侧都有一个,以便通过上下文操作栏进行多项选择和操作,同时允许单击每一行以转换到另一个活动。
最初,在添加CheckBox
行之前,将使用我正在使用的 Holo 主题中的浅蓝色背景颜色来指示它们的选择,并在单击时调用onListItemClick
我的ListFragment
,并onItemLongClick
在OnItemLongClickListener
长时间单击时调用我的。
当我将CheckBox
.xml 文件添加到行视图的布局中时,背景不再改变颜色,并且我不再收到单击或长按事件。如果我将 .xml 添加android:longClickable="true"
到我的视图顶部ViewGroup
,那么我会再次开始获得长点击事件。但android:clickable="true"
不会让我点击事件。并且两者都不允许背景蓝色选择指示返回。只有它CheckBox
本身在触摸时提供带有蓝色背景的视觉触摸指示。
我需要做什么才能获得正常的视觉选择指示以及视图中ListView
带有 的行上的单击事件CheckBox
?
这是我的视图.xml的相关部分:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:longClickable="true"
android:orientation="horizontal" >
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingRight="12dp"
android:paddingTop="5dp" >
...
</LinearLayout>
</LinearLayout>