2
我用this SO question爲指導,但是當我點擊一個排它不會保持高亮顯示。我的代碼有什麼問題?我的ListView的背景選擇不會凸顯所選行
score_list.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/score_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@+id/keyboard"
android:listSelector="@drawable/selector"
android:choiceMode="singleChoice"
android:divider="#CCCCCC"
android:dividerHeight="1dp"
android:paddingLeft="15dp"
android:paddingRight="15dp" />
...
</RelativeLayout>
抽拉/ selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@color/highlight"/>
<item android:state_pressed="true" android:drawable="@color/highlight"/>
</selector>
score_row_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scoreRowLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:background="@drawable/row_selector" >
...
</LinearLayout>
抽拉/ row_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@color/highlight" />
<item android:state_activated="true" android:drawable="@color/highlight" />
<item android:drawable="@color/transparent" />
</selector>
此代碼現在可正常工作。
謝謝,這是有效的。我更新了我的代碼以顯示它。 – GrilledCheese 2013-02-14 05:42:45
@GrilledCheese大,我與兩天前掙扎... – sstn 2013-02-14 05:43:17
如果你想知道,你也可以清除所有的選擇與listview.clearChoices(); 我必須使用這個取消選擇所有行。 – GrilledCheese 2013-02-14 05:47:43