我正在尝试重新创建Google在Gmail应用中使用ListView所做的事情.特别是,我想让每个列表项包括一个CheckBox和两个TextView(一个在另一个之上).检查(或单击)CheckBox时以及单击列表项上的任何其他位置时,我需要侦听器.最后,我希望ActionBar能够反映选择的项目,并提供Select All,Select None等选项(请参阅此屏幕截图).

到目前为止,这是我想出的布局.
<?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="match_parent"
android:orientation="horizontal" >
<CheckBox android:id="@+id/checkBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal" />
<LinearLayout android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="6dp"
android:focusable="true"
android:clickable="true" >
<TextView android:id="@+id/titleTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp" />
<TextView android:id="@+id/dateTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这会正确显示所有内容,但我需要有关如何为两个视图设置侦听器的指针(@ + id/checkBox和@ + id/linearLayout1).我查看了List16 API演示,但他们使用的是simple_list_item_activated_1布局,我不确定它的XML是什么样的.正如他们的代码建议的那样,我创建了一个实现ListView.MultiChoiceModeListener的ModeCallback类,并将ListView的选择模式设置为CHOICE_MODE_MULTIPLE_MODAL,但我不知道如何在我的布局中使用CheckBox来处理它.
有没有人成功复制了Gmail应用的ListView行为?我已经搜索了很多但无法想出任何东西(尽管其他几个人提出了类似的问题,比如这个问题- 大多数答案只是回到同样的API演示).
另外,对于上下文,我将SQLite数据库中的数据加载到列表中,并且我已经创建了自己的Cursor适配器(工作正常).我有一种感觉,我需要在newView()和bindView()方法中在这个类中设置监听器,但我尝试过的一切都没有用.
有任何想法吗?