背景问题与风格和主题

问题描述:

在ATTRS我背景问题与风格和主题

<attr name="bzz" format="color" /> 
在主题

然后

<style name="mytheme" parent="android:Theme"> 
    <item name="bzz">@color/aaa</item> 
</style> 

,并在代码 这个伟大工程

tv.setBackgroundResource(R.color.aaa); 

,但是当我这样做它给我一个错误

tv.setBackgroundResource(R.attr.bzz); 

我不明白这是什么问题,我的逻辑是,我设置了BZZ作为参考颜色,这样应该可以正常工作,但它不会:) 它说,像android.content.res.Resources$NotFoundException: Resource ID #0x7f010008 ,但我不明白的资源找不到?

我相信,颜色有没有罪,如果我把它直接它的伟大工程,是什么exacly是无法正确链接

感谢

+0

也有类似的问题。从逻辑上讲,它是健全的。不知道为什么它不起作用。 – HGPB

您需要解决attr得到的东西对应的color的资源ID。然后,您可以将TextView的后台资源设置为获取的资源ID。

示例代码:

TypedValue typedValue = new TypedValue(); 
getTheme().resolveAttribute(R.attr.bzz, typedValue, true); 
tv.setBackgroundResource(typedValue.resourceId); 
+0

不适用于API 21 – Sunny