2012-01-04 49 views
0

我在android中工作。Android:更改列表行的颜色

我有一个地方的清单。我希望每当我点击这个列表中的一个地方。然后,该选定行的颜色应该短时间更改为蓝色,以便看起来被点击。

这就是我想要的代码: -

mListView.setOnItemClickListener(new OnItemClickListener() 

     { 

     @Override 

     public void onItemClick(AdapterView<?> parent, View view, int position, long duration) 

      { 

      view.setBackgroundResource(R.drawable.fsq_custom_background); 
      } 


     } 

这是fsq_custom_background.xml存储在绘制文件夹: -

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


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


<item 

    android:state_pressed="true" 

    android:state_enabled="true" 

    android:drawable="@drawable/the_background_color" /> 


    </selector> 

这是the_background_color.xml: -

<?xml version="1.0" encoding="UTF-8"?> 


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

<solid android:color="#FF1212" /> 

</shape> 

但所选行的颜色仍未更改。请帮我解决我犯的错误。 非常感谢。

回答

1

首先从onItemClick中删除改变bg颜色的代码。 要执行更有价值的操作,而不仅仅是更改列表行的颜色。

您可以在XML文件中提供,你必须使你的ListView对象:

<的ListView

机器人:listSelector = “”

..... />

您可以将其作为xml中列表行布局的背景提供。