2012-06-05 162 views
0

我要放置定製ListView項列表視圖上的可見部分的頂部選擇並高亮顯示自定義列表視圖項

listView.setSelection(itemIndex); 

選擇的項目定位。但沒有突出顯示。 如何設置列表視圖項目的默認高亮(然後禁用高亮並選擇另一個),而不需要重新創建列表視圖

謝謝!

p.s.我知道有人問過很多次,但我不明白它是如何工作

更新 在我的Android 2.2無法正常工作(ADT仿真器,並與的Android 2.2 Froyo智能手機)

繪製/ listselector.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:drawable="@color/red" android:state_focused="true"/> 
<item android:drawable="@color/yellow" android:state_selected="true"/> 
<item android:drawable="@color/red" android:state_pressed="true"/> 

</selector> 

值/ colors.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <color name="black">#000000</color> 
    <color name="white">#ffffff</color> 
    <color name="yellow">#ffff00</color> 
    <color name="red">#ff0000</color> 
</resources> 

佈局/ list1.xml

<ListView 
    android:id="@android:id/list" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:background="@drawable/listselector" 
    android:clickable="true" > 
</ListView> 
+0

http://samir-mangroliya.blogspot.in/p/android-customized-listview.html –

+0

請selector.xml添加此<項目android:drawable =「@ color/white」/>如果列表不改變顏色有什麼錯誤 –

回答

3

您需要選擇將它添加到你的XML

android:clickable="true" 
android:background="@drawable/selector" 

佈局和在該values文件夾中drawable文件夾中創建selecor.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/red"/> 
</selector> 

和finaly colors.xml

<?xml version="1.0" encoding="utf-8"?> 
    <resources> 
     <color name="black">#000000</color> 
     <color name="white">#ffffff</color> 
     <color name="red">#ff0000</color> 
    </resources> 

,並呼籲

listView.requestFocusFromTouch(); 

listView.setSelection(itemIndex); 
+0

它沒有工作。在「listView.setSelection(itemIndex);」之後沒有listview項highlighed – user1312837

+0

我做它沒有setSelection在我的情況。只需在您的佈局 –

+0

中輸入android:clickable =「true」 android:background =「@ drawable/selector」。也許這是ADT模擬器錯誤? (android sdk 2.2) – user1312837

相關問題