2014-06-24 76 views
0

列表視圖選擇顏色,當用戶長按一個項目,我畫一個自定義的操作欄,並提供用戶選項,一次刪除多個項目。在我的列表視圖中的Android

默認情況下,如果我執行長按動作,我會選擇顏色爲藍色,它會消失。

爲了克服,我試着添加一個像這樣的選擇器。

listviewselector.xml

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

    <!-- Selected --> 
    <item 
    android:state_focused="true" 
    android:state_selected="false" 
    android:drawable="@color/RED"/> 

    <!-- Pressed --> 
    <item 
    android:state_selected="true" 
    android:state_focused="false" 
    android:drawable="@color/BLUE" /> 

</selector> 

如果我設置此選擇,當用戶執行長按,我可以看到紅色,但病房後,如果用戶選擇執行,沒有顏色是越來越保留的項目。默認情況下它看起來很白。

我試圖根據條件設置背景顏色像下面

if(mSelectedItemsIds.get(key)) 
     { 
      convertView.setBackgroundColor(REDCOLOR); 
     } 
     else 
     { 
      convertView.setBackgroundColor(WHITE); 
     } 

在這種情況下,如果用戶執行長按,然後如果用戶選擇多個項目,我可以看到紅色,默認情況下所有項目的顏色會變白。但是,如果用戶觸摸任何項目,默認顏色將不變,即選擇時不會出現顏色。

如何獲得默認的白色,點擊藍色和多重選擇紅色?

我想這樣 新的選擇:

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

    <!-- Selected --> 
    <item 
    android:state_focused="true" 
    android:state_selected="false" 
    android:drawable="@color/RED"/> 

    <!-- Pressed --> 
    <item 
    android:state_selected="true" 
    android:state_focused="false" 
    android:drawable="@color/WHITE" /> 

</selector> 



if(mSelectedItemsIds.get(key)) 
      { 
       convertView.setBackgroundColor(mContext.getResources().getColor(R.color.RED)); 
      } 
      else 
      { 
       convertView.setBackgroundColor(R.drawable.listviewselector); 
      } 

在此,我得到默認的所有項目藍色。爲什麼?

+0

嘗試設置listselector由convertView –

+0

任何示例代碼,請充氣xml文件..感謝您發佈 – Naruto

+0

listviewselector.xml是我是一個火影忍者迷太 –

回答

1

我試過這樣,它的工作。

if(mSelectedItemsIds.get(key)) 
     { 
      convertView.setBackgroundColor(mContext.getResources().getColor(R.color.BLUE)); 
     } 
     else 
     { 
      convertView.setBackgroundColor(android.R.drawable.list_selector_background); 
     } 
+1

我也在嘗試,似乎我不需要這樣做。那麼我是你的jiriya大聲笑 –

+0

嗯,你的評論+1 – Naruto