Java 如何以编程方式更改列表项背景颜色?
我有一个简单的listView,其中有4个textview作为项目,我想通过编程更改listView中每个项目的背景色。重要的是,我的案例不受预先编译的颜色值或状态的限制,解决方案必须意味着在显示listView后更改背景颜色 这可能吗,怎么可能 到目前为止,我已经尝试过以下方法:Java 如何以编程方式更改列表项背景颜色?,java,android,android-layout,Java,Android,Android Layout,我有一个简单的listView,其中有4个textview作为项目,我想通过编程更改listView中每个项目的背景色。重要的是,我的案例不受预先编译的颜色值或状态的限制,解决方案必须意味着在显示listView后更改背景颜色 这可能吗,怎么可能 到目前为止,我已经尝试过以下方法: listView.getAdapter().getView(0, null, null)..setBackgroundColor(Color.GREEN); 或 这行之后的视图也无效,但它不起作用 致以最诚挚的问候
listView.getAdapter().getView(0, null, null)..setBackgroundColor(Color.GREEN);
或
这行之后的视图也无效,但它不起作用
致以最诚挚的问候。在listadapter中覆盖getview
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
TextView title = (TextView) v.findViewById(R.id.title);
Color mColor = new Color();
mColor.red(redvalue);
mColor.green(greenvalue);
mColor.blue(bluevalue);
title.setTextColor(mColor);
或
@CarCzar更新问题可能重复。谢谢。@AlexK在我的文章中,我希望这是无状态的,并在运行时通过颜色组合(十六进制)更改颜色,所以这对我的案例不起作用。更新我的问题,谢谢。啊,好吧,我的错。所以你以前搜索过,但没有找到答案?@AlexK我搜索了很多,找到了大部分与xml相关的答案,这对我来说帮助不大。我会不断更新我尝试过的东西,但到目前为止还没有任何结果。谢谢。我正在考虑这个问题,然后更改底层适配器数据,然后调用notifydatasetchanged
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
TextView title = (TextView) v.findViewById(R.id.title);
Color mColor = new Color();
mColor.red(redvalue);
mColor.green(greenvalue);
mColor.blue(bluevalue);
title.setTextColor(mColor);
mColor.parseColor("#rrggbb")
title.setTextColor(mColor);
....
...
return v;
}
}