我正在尝试为autocompleteTextView设置DropDown背景颜色,因为在不同的Android版本中标准值似乎不同。例如,从Android 3.2开始一切正常,但以前的版本似乎不接受xml中的android:textColor="@color/black"
,因为它对我不起作用。例如Android 2.3只显示列表中的项目和我选择的白色项目,这对我不起作用,因为背景也是白色的。所以我决定用这个改变android版本的背景颜色测定:
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion >= android.os.Build.VERSION_CODES.HONEYCOMB){
// Do something for Honeycomb and above versions
//everything is right
} else{
// do something for phones running an SDK before froyo
box_Kurs.setDropDownBackgroundResource(Color.BLUE);
box_Teacher.setDropDownBackgroundResource(Color.BLUE);
}
但是,当我启动我的应用程序时,它会崩溃并显示资源未找到异常:
11-19 15:40:17.225: E/AndroidRuntime(450): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.shr.khg/com.shr.khg.AddActivity}: android.content.res.Resources$NotFoundException: Resource ID #0xff0000ff
我做错了什么?自从其他人建议以来,我已经清理了我的项目。或者有没有更简单的方法来处理我的问题?
谢谢!
答案 0 :(得分:2)
问题在于setDropDownBackgroundResource()
期望Color
资源Drawable
的ID,而不是定义int
的{{1}}。如果您查看Color
,您可以看到Android正在尝试查找标识为Exception
的组件,这是完全不透明蓝色的十六进制代码,即#0xff0000ff
<的值/ p>
答案 1 :(得分:0)
重申这两行:
box_Kurs.setDropDownBackgroundResource(Color.parseColor("#0000ff"));
box_Teacher.setDropDownBackgroundResource(Color.parseColor("#0000ff"));