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 に答える