我在这里看到很多关于在ListView中改变TextView的背景颜色的问题/答案,但在我的情况下,它们似乎都不起作用。
我在GetView方法的'BaseAdapter'类中有:
String status = item.getStatus().trim();
int backgroundColor = 0;
if (status.trim().equals("S")) {
backgroundColor = R.color.corSeparada;
}
if (status.trim().equals("F")) {
backgroundColor = R.color.corFinalizada;
}
if (status.trim().equals("E")) {
backgroundColor = R.color.corEncerrada;
}
if (status.trim().equals("N")) {
backgroundColor = R.color.corNova;
}
holder.campoCorStatus.setBackgroundColor(backgroundColor);
这应该足以用“绿色,红色,黑色或黄色”颜色绘制一些TexView背景,但会产生奇怪的背景颜色,如图所示:
左栏应该是应该改变背景颜色的那一栏,我也试图改变另一个TextView(右侧)的背景颜色,完全没有成功。
答案 0 :(得分:1)
因此,虽然我看不到你的其余代码,并确定你是否使用了错误的适配器(我认为也是如此),我可以做的是告诉你你没有正确设置你的颜色。
使用此:
OptionalType
OR
holder.campoCorStatus.setBackgroundResource(backgroundColor);
setBackgroundColor实际上接受颜色的数值(如0xFFFF0000),但是您传入的颜色为FOR,而不是该资源ID的实际值。