2012-01-22 100 views
2

我的Android应用程序中有一组按钮。我想按下一个按钮来使不同的按钮变成白色。我有这样的代码:按钮阵列(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

更改颜色后重新加载视图 –

+0

@BillGary如何重新加载视图? – BenH

回答

4
button[0][1].invalidate(); 

将强制视图重绘。