Color.parseColor无法处理某些颜色 - Android
问题描述:
我在android应用程序中使用了很多颜色。然而,有些颜色被解析,其他应用程序崩溃。 logcat中的错误是非法争论:未知颜色。下面是代码, 工作颜色如下表, 我想知道为什么color.parseColor不会为银,灰,海军蓝工作 感谢Color.parseColor无法处理某些颜色 - Android
if(selected_color == "WHITE"){
selected_color = "#FFFFFF";
}
if(selected_color == "RED"){
selected_color = "#FF0000";
}
if(selected_color == "YELLOW"){
selected_color = "#FFFF00";
}
if(selected_color == "BLACK"){
selected_color = "#000000";
}
//不工作的颜色都低于
if(selected_color== "SILVER") {
selected_color = "#C0C0C0";
}
if(selected_color == "LIME"){
selected_color = "#00FF00";
}
if(selected_color == "NAVY"){
selected_color = "#000080";
}
Paint myPaint = new Paint();
myPaint.setColor(Color.parseColor(selected_color);
答
由于您做出错误的字符串比较,请使用.equals()
方法而不是==
运算符进行字符串比较。
不喜欢它,
selected_color.equals("NAVY")
只是检查的前行代码selected_color
值,
myPaint.setColor(Color.parseColor(selected_color);
+0
谢谢。有用 – artist 2015-02-05 20:45:51
安置自己的logcat请 – Marcus 2015-02-05 20:30:50
非法arguement例外:未知色彩 – artist 2015-02-05 20:33:24
你的字符串比较都是靠不住的,不要使用'=='使用'.equals()'。我的猜测是比较不起作用,你直接给'parseColor()函数提供颜色名称 – ChrisStillwell 2015-02-05 20:33:52