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

강제로보기가 다시 그려집니다.