我正在尝试改变我的小吃店的颜色
snackbarView.setBackgroundColor(ContextCompat.getColor(context, Color.RED));
我得到的是这样的东西:
android.content.res.Resources$NotFoundException: Resource ID #0xffff0000
肯定在哪里
0xFFFF0000地址
代表RED.But为什么它找不到这个资源? 有什么帮助吗?
答案 0 :(得分:4)
使用:snackbarView.setBackgroundColor(Color.RED);
不是:snackbarView.setBackgroundColor(ContextCompat.getColor(context, Color.RED));
<强>原因:强>
查看official android developer site。
因此,您可以直接为其添加颜色。无需向其添加ContextCompat.getColor()方法。
如果您想使用此功能,请使用有效的 资源ID,而不是颜色ID 作为getColor方法的第二个参数。 因为它来自official website,
它需要资源ID,而不是颜色ID。 希望,现在,你可以理解这件事。
答案 1 :(得分:2)
试试这个: -
在values.xml中,创建colors.xml并添加以下行:
<color name="red">#FF0000</color>
然后像这样调用这种颜色: -
snackbarView.setBackgroundColor(ContextCompat.getColor(context,R.color.red));
答案 2 :(得分:1)
你要
资源$ NotFoundException:资源ID#0xffff0000
无法找到请求的资源时,资源API会抛出此异常。
创建包含颜色的自定义 colors.xml
。
<强> RES /值/ colors.xml:强>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#ff0000 </color>
</resources>
,然后强>
setBackgroundColor(ContextCompat.getColor(context, R.color.red));
或简单
setBackgroundColor(Color.parseColor("#ff0000"));
答案 3 :(得分:0)
尝试设置这样的背景颜色:
snackbarView.setBackgroundColor(ContextCompat.getColor(context, R.color.RED));
答案 4 :(得分:0)
Color.RED是一种颜色而不是ID。你应该这样做:
snackbarView.setBackgroundColor(Color.RED);
答案 5 :(得分:0)
您将Color.RED(一个int值)视为resourceId。逻辑错误!
只需使用Color.RED insted。
snackbarView.setBackgroundColor(Color.RED)