您需要设置激活样式列表行。问题在于,这只适用于API Level 11及更高版本。
做到这一点的一种方法是使用两种不同的样式。在res/values-v11/styles.xml
,你可以有:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="activated" parent="android:Theme.Holo">
<item name="android:background">?android:attr/activatedBackgroundIndicator</item>
</style>
</resources>
而res/values/styles.xml
你会:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="activated">
</style>
</resources>
你行布局将然后使用该activated
风格,比如:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:layout_marginLeft="4dip"
android:minHeight="?android:attr/listPreferredItemHeight"
style="@style/activated"
/>
结合您的现有的CHOICE_MODE_SINGLE
逻辑,这会使您的行在点击后处于激活状态。
谢谢,我将检查它并返回问题或设置为接受。 – Alex
感谢它的工作,但如何改变标记的颜色和价值的含义是什么 - v11 – Alex
@ahmed:“如何改变标记的颜色” - 改变样式点中的“android:background”值至。现在,它指向一个来自系统定义的主题的值('android:attr/activatedBackgroundIndicator')。 “values-v11的含义是什么” - Android将在具有API Level 11和更高版本的设备上使用该目录中的资源。旧设备将忽略该目录。 – CommonsWare