我有一个ListFragment
包含多项选择ListView
。CursorAdapter
如果我在我的 to中设置布局android.R.layout.simple_list_item_multiple_choice
,我将能够在我的ListView
. 但是我想使用自定义布局并在检查项目时更改背景颜色。这似乎很简单,但我找不到我的问题的答案。我想过在我的适配器的 bindView 中设置颜色,但我不确定它属于哪里,因为我的适配器不知道检查了哪些项目。所以我尝试使用选择器并将其应用到我的 textview 的背景上,如下所示:
行.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceMedium"
android:minHeight="?android:attr/listPreferredItemHeight"
android:padding="6dp"
android:background="@drawable/list_selector"/>
list_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Pressed -->
<item android:state_pressed="true"
android:drawable="@drawable/list_pressed" />
<!-- Selected -->
<item android:state_selected="true"
android:drawable="@drawable/list_active" />
<!-- Checked -->
<item android:state_checked="true"
android:drawable="@drawable/list_active" />
<!-- Normal -->
<item android:drawable="@drawable/list_normal" />
</selector>
按下状态正在工作,但不是选中状态。我想知道我的 TextView 是否被检查过。但如果不是,如何ListView
跟踪检查的项目?