2011-07-22 35 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 
相关问题