我的Android应用中有一系列按钮。我想按一个按钮使另一个按钮变白。我有这样的代码:
final Button [][] button = new Button[5][3];
for(int i = 0; i < tableRow.length; i++) {
for(int j = 0; j < button[i].length; j++) {
button[i][j] = new Button(this);
button[i][j].getBackground().setColorFilter(new LightingColorFilter(0x00000000, 0xFF000000));
}
}
button[0][0].setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
button[0][0].getBackground().setColorFilter(new LightingColorFilter(0x00000000, 0x00FFFFFF));
}
});
这样可以正常工作,但按下时按钮[0] [0]变为白色,而我想按下按钮[0] [0]将按钮[0] [1]变为白色。如果我改成它:
button[0][0].setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
button[0][1].getBackground().setColorFilter(new LightingColorFilter(0x00000000, 0x00FFFFFF));
}
});
按下按钮[0] [0]时没有任何反应。为什么呢?
答案 0 :(得分:4)
button[0][1].invalidate();
将强制重新绘制视图。