1

如何更改 ListView 的单个单元格的背景?我在java中写道:

n_list = new ListView(this);
n_list.setBackgroundDrawable(getResources().getDrawable(R.drawable.list_pressed));

这种方式改变了整个列表的背景。当我按下一个单元格时,它会更改所有单元格的背景。

list_pressed.xml在可绘制

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

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

    <item android:state_focused="true"
          android:drawable="@drawable/listviewpress" />

    <item android:state_pressed="true"
          android:drawable="@drawable/listviewpress" />
    <item 
          android:drawable="@drawable/listview" />
</selector>

我怎样才能解决这个问题?提前致谢 :)

4

2 回答 2

2

您需要创建一个自定义适配器,然后getView()您可以在其中说出您想为您的行赋予什么颜色。

如果您按照链接上的教程进行操作,您可以在您convertView的 asetBackground()上使用您想要的颜色。如果您想要一个特定的位置,只需在此之前执行 if setBackground

于 2012-04-05T01:37:04.167 回答
1

下面是几个带有 customadapter 的列表视图的 URL,以便您可以在 getVIew() 中为行设置背景::

LINL1

链接2

链接3

链接4

链接5

于 2012-04-05T02:21:36.377 回答