2011-07-22 45 views
0

嗨親愛的我在我的listview中有5行每個listview有圖像和文字與它關聯,我想當我點擊listview在任何位置它改變它的背景顏色,當我點擊列表中的另一個位置先前選擇的列表行來到它的前一個條件,並選擇更改顏色和圖像...如何實現它?謝謝更改背景顏色和listview的圖像,當點擊列表視圖

我的代碼是..但它不保留以前選定的行...

public void onListItemClick(ListView parent, View v, int position, 
                   long id) { 
     if(position == 0) 
     { 
       v.setBackgroundColor(Color.WHITE);     
     } 
     if(position == 1) 
     { 
       v.setBackgroundColor(Color.WHITE);     
     } 

    Toast.makeText(getApplicationContext(), "You have selected " 
        +(position+1)+"th item", Toast.LENGTH_SHORT).show(); 
} 

回答

1

您可以使用選擇器的概念。創建一個選擇器xml並將其用作該行的背景。它可以幫助you.like這樣的:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true" android:drawable="@drawable/selector_s" /> 
    <item android:state_pressed="true" android:drawable="@drawable/selector_s" /> 
    <item android:drawable="@drawable/selector_d" /> 
</selector> 

你可以使用這個鏈接

http://android-journey.blogspot.com/2009/12/android-selectors.html