2012-01-22 135 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(); 

將強制視圖重繪。