在这发帖,没报多大希望有人回。
如图所示 ,可不可以把每行的5个代码联系起来不用一个一个设监听,一个按钮点击时变红其他自己变黑,一个一个设监听来改变太麻烦了
[解决办法]
ArrayList<Button> btns = new ArrayList<Button>();//每行5个按钮,一共15个,放到集合里面。
int bId = 1;
for (Button btn : btns) { //id弄个序号,然后循环,就不用一个个的设置了。
btn.setId(bId++);
btn.setOnClickListener(new OnClickListener(){
public void click(View v){
//这地方用switch,可以知道是那个按钮,然后做些事情。
}
});
}
private void updateBg(LinearLayout parent, int clickedIndex) {
final int count = parent.getChildCount();
for (int i = 0 ; i < count ; ++i) {
if (clickedIndex == i) {
parent.getChildAt(i).setBackgroundColor(Color.RED);
} else {
parent.getChildAt(i).setBackgroundColor(Color.BLACK);
}
}
}