我想更改textview(背景)的可绘制图片颜色,我尝试了此代码但没有成功我得到错误这是我的代码:
textView.getBackground().setColorFilter(Color.parseColor(listMap.get((int)position) .get("color").toString()), PorterDuff.Mode.SRC_IN);
但我得到了一个错误:类型字符串的方法parsecolor(string)未定义
fxnxkyjh1#
试试这个(刚在android studio中检查过,效果很好):
val myBackgroundColor = Color.parseColor(listMap.get((int)position).get("color").toString()) textView.setBackgroundColor(myBackgroundColor)
如果它不工作,我猜这意味着你从你的listmap得到的颜色值不是一个合适的十六进制值 #00FF00 .检查并确保格式正确。
#00FF00
k4emjkb12#
从中得到的字符串是什么?
listMap.get((int)position).get("color").toString()
我觉得这个函数只是返回颜色的数字,你还需要“#”分析颜色字符串,并返回相应的color-int。如果无法分析该字符串,则引发illegalargumentexception异常。支持的格式包括:
# RRGGBB # AARRGGBB
根据android官方文档
2条答案
按热度按时间fxnxkyjh1#
试试这个(刚在android studio中检查过,效果很好):
如果它不工作,我猜这意味着你从你的listmap得到的颜色值不是一个合适的十六进制值
#00FF00
.检查并确保格式正确。
k4emjkb12#
从中得到的字符串是什么?
我觉得这个函数只是返回颜色的数字,你还需要“#”
分析颜色字符串,并返回相应的color-int。如果无法分析该字符串,则引发illegalargumentexception异常。支持的格式包括:
根据android官方文档