1

如果该按钮的当前文本颜色为红色,我想检查按钮单击事件?

到目前为止,我已经这样做了:

ColorStateList mList = gridcell.getTextColors();

            int col=mList.getDefaultColor();


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

            }

但是,当我单击文本颜色为红色的按钮时,它不会烘烤任何东西,默认颜色为白色,并且在所有按钮中都变为白色。我现在能做什么?

4

3 回答 3

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;

}
于 2012-07-16T10:05:50.717 回答
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();
        }
    }
于 2012-07-16T10:12:38.857 回答
0

请检查这个

 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;

}
于 2012-07-16T10:10:12.273 回答