0

我正在尝试为 autocompleteTextView 设置 DropDown 背景颜色,因为在不同的 Android 版本中标准值似乎不同。例如,从 android 3.2 开始一切正常,但以前的版本似乎不接受android:textColor="@color/black"xml 中的,因为它不适合我。例如,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

我究竟做错了什么?我已经清理了我的项目,因为这是其他人建议的。或者有没有更简单的方法来处理我的问题?

谢谢!

4

2 回答 2

2

问题是期望的是资源setDropDownBackgroundResource()的 id ,而不是定义 a 的。如果您看一下,您会看到 Android 正在尝试查找具有 id 的组件,这是完全不透明蓝色的十六进制代码,它的值是ColorDrawableintColorException#0xff0000ffColor.BLUE

于 2013-11-19T15:54:15.743 回答
0

替换这两行:

box_Kurs.setDropDownBackgroundResource(Color.parseColor("#0000ff"));
box_Teacher.setDropDownBackgroundResource(Color.parseColor("#0000ff"));
于 2013-11-19T16:00:25.223 回答