java Android:使用双数组时如何识别按钮?
我有创建10x10按钮网格的代码:
for (int i=0; i<=9; i++) {
TableRow tr = new TableRow(this);
for (int j=0; j<=9; j++) {
Button button = new Button (this);
button.setHeight(30);
button.setWidth(30);
button.setOnClickListener(this);
button.setBackgroundDrawable(d);
tr.addView(button, 30,30);
if (bommaker[i][j]) {
isBomb = true;
} else {
isBomb = false;
}
veld[i][j] = new Vakje(isBomb);
}
layout.addView(tr);
}
它还为每个创建的按钮添加了一个新的“Vakje”。“Vakje”当然是另一类
现在我的问题是:如何识别按下了哪个按钮,以便在onClick()方法中从类“Vakje”调用方法。 例如,我不能将“I”和“j”变量作为参数添加到按钮。setOnClickListener(此)
# 1 楼答案
您可以利用anonymous classes并为每个按钮创建一个新的onClickListener
我还没有编译它,所以我不知道是否有错误,但这应该给你一个大概的想法
# 2 楼答案
创建按钮后,可以通过setId()方法将按钮的id设置为i和j
即按钮。setId(ij)
然后在onClick()方法中,您可以使用该id检索正确的Vakje对象