ボタンの色をデフォルトの色にクリアする方法だけでなく、コードのどの瞬間にそれを行うのですか? 私はすべてを試しましたが、運がありません。ボタンをクリックすると、不透明度のある緑色を設定します。次のボタンをクリックすると同じことが起こりますが、最初のボタンはまだ緑色に設定されています。元の色に戻す必要があります。私は試しました:
button.getBackground().setColorFilter(null);
これが私のコードです:
final OnClickListener clickListener = new OnClickListener() {
private Button buttonClicked;
public void onClick(View v) {
Button button = (Button) v;
button.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0x003333));
if (buttonClicked == null) {
// first button is clicked
buttonClicked = button;
// only do stuff if buttons are in different layouts
} else{
if (!button.getParent ().equals(buttonClicked.getParent())) {
// second button is clicked
if(buttonClicked.getTag().equals(button.getTag()) ){
// second button is clicked and same tag but different button
Toast.makeText(Spojnice.this, "Correct", Toast.LENGTH_SHORT).show();
button.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0x66FF33));
buttonClicked.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0x66FF33));
buttonClicked.setEnabled(false);
button.setEnabled(false);
buttonClicked = null;
} else {
//reset LightingColorFilter first
Toast.makeText(Spojnice.this, "Wrong", Toast.LENGTH_SHORT).show();
buttonClicked = null;
}
}else{
buttonClicked = button;
}
}
}
};