我正在制作一个测验应用程序,所以我将有 4 个按钮,当用户单击错误的选项时,一个的背景将变为红色,而正确的将变为绿色。
我尝试了多种方法,包括使用 XML onClick,即 onClick 监听器。我也尝试了处理程序,但没有任何效果。
总是错误的按钮会变成红色,但正确的按钮永远不会变成绿色。
....
....
mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
ansButton.setBackgroundColor(Color.GREEN);
}
};
}
public void button1(View v){
if(v.getId() != ansID)
v.setBackgroundColor(Color.RED);
mHandler.sendEmptyMessage(0);
}
public void button2(View v){
if(v.getId() != ansID)
v.setBackgroundColor(Color.RED);
mHandler.sendEmptyMessage(0);
}
public void button3(View v){
if(v.getId() != ansID)
v.setBackgroundColor(Color.RED);
mHandler.sendEmptyMessage(0);
}
public void button4(View v){
if(v.getId() != ansID)
v.setBackgroundColor(Color.RED);
mHandler.sendEmptyMessage(0);
}
.....
.....
编辑
在进一步测试中,我发现在 button1 onClick 方法上我只能调整 button1 而不能调整其他按钮,即使它们是成员变量。
最佳答案
尝试在更改背景颜色后调用ansButton.invalidate()
关于android - 从一个 onClick 更改两个按钮的背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31698059/