2015-02-05 948 views
-2

我在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

回答

1

由於您做出錯誤的字符串比較,請使用.equals()方法而不是==運算符進行字符串比較。

不喜歡它,

selected_color.equals("NAVY") 

只是檢查的前行代碼selected_color 值,

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

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