2013-10-05 22 views
4

我有這樣的列表視圖:Android的ListView項不顯示所選的顏色

<ListView 
      android:id="@+id/contactsView" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_below="@+id/searchButton" 
      android:divider="@color/DarkGoldenrod" 
      android:dividerHeight="0.1dp" 
      android:listSelector="@drawable/list_selector" 
      android:choiceMode="singleChoice" /> 

這是list_selector代碼:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@android:drawable/myRedColor" android:state_pressed="true"/> 
    <item android:drawable="@android:drawable/myBlueColor" android:state_selected="true"/> 
    <item android:drawable="@android:drawable/myGreenColor"/> 

</selector> 

在我的主要活動課我已經把以下內容:

contactsView.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
        long arg3) { 
       arg1.setSelected(true); 
       selectedContactIndex = (int) arg3; 
      } 
     }); 

contactsView是列表視圖,我已經確認它正在被選中但顏色不停留。我點擊它,它會改變然後改回來。任何想法爲什麼?

回答

5

代替android:listSelector="@drawable/list_selector" ListView中使用它作爲背景row.xml

1

你可以這樣做也中,u有你的列表視圖設置佈局

android:background="?android:attr/activatedBackgroundIndicator" 

的背景佈局然後在您的活動

ListView.setSelector(R.drawable.list_selector); 
0

嘿怎麼樣也增加了這些行所做的選擇:(如果它幫助)

<item android:drawable="@android:drawable/myBlueColor" android:state_active="true"/> 
<item android:drawable="@android:drawable/myBlueColor" android:state_selected="true"/>