您需要設置激活樣式列表行。問題在於,這隻適用於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