2012-07-16 82 views
1

如果該按鈕的當前文本顏色爲紅色,我想檢查按鈕單擊事件嗎?如何獲取按鈕的當前文本顏色?

我有這個迄今所做的:

ColorStateList mList = gridcell.getTextColors(); 

      int col=mList.getDefaultColor(); 


      switch(col) 
      { 
      case Color.RED: 
       Toast.makeText(getApplicationContext(), "RED", 
         Toast.LENGTH_SHORT).show(); 
      break; 

      } 

但是當我點擊其中的文本顏色按鈕爲紅色這行的也敬酒任何東西,defaut顏色是白色的,它在所有TE按鈕越來越白。我現在能做什麼?

回答

2

嘗試......

ColorStateList mList = mButton.getTextColors(); 
int color = mList.getDefaultColor(); 

switch(color) 
{ 
case Color.RED: 
Toast.makeText(getApplicationContext(), "RED", Toast.LENGTH_SHORT).show(); 

break; 

case Color.BLUE: 
Toast.makeText(getApplicationContext(), "BLUE", Toast.LENGTH_SHORT).show(); 
break; 

} 
0

PLZ檢查這個

ColorStateList mList = mButton.getTextColors(); 
int col = mList.getDefaultColor(); 

switch(col){ 
case Color.RED: 
Toast.makeText(getApplicationContext(), "RED", Toast.LENGTH_SHORT).show(); 
break; 

case Color.BLACK: 
Toast.makeText(getApplicationContext(), "BLACK", Toast.LENGTH_SHORT).show(); 
break; 

} 
0

試試這個:

 Button button=(Button) findViewById(R.id.b); 
     button.setTextColor(Color.RED); 
     button.setOnClickListener(this); 

按鈕的單擊事件:

public void onClick(View v) { 
     if(button.getCurrentTextColor()==Color.RED){ 
      Toast.makeText(getBaseContext(), "Red", Toast.LENGTH_SHORT).show(); 
     } 
    } 
+0

您的比較'button.getCurrentTextColor()== Color.RED'有一個錯誤:**不兼容的類型。 android.graphics.Color <---> int ** – 2017-08-22 15:57:16