Android:更改列表行的颜色

时间:2012-01-04 07:29:29

标签: 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 ,它存储在drawable文件夹中: -

   <?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 个答案:

答案 0 :(得分:1)

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

您可以在xml文件中提供listView对象的位置:

&LT;的ListView

机器人:listSelector = “”

..... /&gt;

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