我正在尝试创建一个类似于Gmail应用的
ListView
,其中每一行都有一个位于左侧的 CheckBox
,以方便通过上下文操作栏进行多个选择和操作,同时允许单击每一行转换到另一个活动。在添加 CheckBox
之前,原始行会使用我正在使用的Holo主题的浅蓝色背景颜色指示其选择,并在单击时调用我的 ListFragment
中的 onListItemClick
,在长按时调用我的 OnItemLongClickListener
中的 onItemLongClick
。当我将 CheckBox
添加到行视图的布局 .xml 文件中时,背景颜色不再改变,也不再接收点击或长按事件。如果我在视图 .xml 的顶部 ViewGroup
中添加 android:longClickable="true"
,那么我就可以再次获得长按事件。但是 android:clickable="true"
不会给我点击事件。两者都无法恢复蓝色背景选择指示。只有 CheckBox
本身在触摸时提供蓝色背景的视觉触摸指示。我需要做什么才能在视图中包含 CheckBox
的情况下获得正常的视觉选择指示以及 ListView
行的单击事件?以下是我的视图 .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>