java.lang.UnsupportedOperationException:无法转换为color:type = 0x1

我一直在关注Android开发人员培训的myfirstapp指南,但我遇到了一个他们没有正确解释如何定义颜色的问题。

他们提到要创建自定义主题,您可以声明文本颜色:

的themes.xml

    @style/MyActionBar @style/MyActionBarTitleText @style/MyActionBarTabText    @drawable/actionbar_background    @color/actionbar_text    @color/actionbar_text   

他们没有提到如何指定@color/actionbar_text ,但常识(以及一些谷歌搜索)表示值包中需要colors.xml文件:

colors.xml

   #ff355689  

但是,在尝试运行应用程序时,它会出错:

 Process: com.example.myfirstapp, PID: 25997 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myfirstapp/com.example.myfirstapp.MainActivity}: java.lang.UnsupportedOperationException: Can't convert to color: type=0x1 

如果我从colors.xml中删除该行,则在找不到颜色引用时会出错。 我相对肯定我的代码是正确的,任何人都可以看到任何错误?

android studio显示错误

编辑

我只是想注意,我实际上对themes.xml文件使用略有不同的语法,因为教程不会编译。 本教程使用@style/Widget.Holo.ActionBar.TabText ,我发现它实际上是android的属性,所以我需要使用@android:style/Widget.Holo.ActionBar.TabText

如果我没有弄错,那么代码意味着Android在预期颜色值或未能将引用转换为颜色时找到引用。 看看你的代码,这一行很突出

 @style/MyActionBarTitleText 

尽管你可以在textColor中有一个引用,但我不确定你可以将它设置为样式。

因此,请尝试直接引用您的颜色

 @color/actionbar_text