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); 
+1

安置自己的logcat请 – Marcus 2015-02-05 20:30:50

+0

非法arguement例外:未知色彩 – artist 2015-02-05 20:33:24

+0

你的字符串比较都是靠不住的,不要使用'=='使用'.equals()'。我的猜测是比较不起作用,你直接给'parseColor()函数提供颜色名称 – ChrisStillwell 2015-02-05 20:33:52

由于您做出错误的字符串比较,请使用.equals()方法而不是==运算符进行字符串比较。

不喜欢它,

selected_color.equals("NAVY") 

只是检查的前行代码selected_color 值,

myPaint.setColor(Color.parseColor(selected_color); 
+0

谢谢。有用 – artist 2015-02-05 20:45:51