我已经分别制作了一个大小为8和8的二维数组,并且我制作了64个图像按钮,每个按钮都有一个b1,b2 b3 id。我很乐意将id设置为数组。
一个例子是:
按钮[0,0] = FindViewById(Resource.Id.b1);
按钮[0,1] = FindViewById(Resource.Id.b2);
按钮[1,0] = FindViewById(Resource.Id.b9);
由于我有64个图像按钮,我是否必须编写64行来初始化每个Resource.Id要解析为2d按钮数组?我知道我可以为每个行和列执行双循环,例如:
buttons [x,y] = FindViewById(Resource.Id.b1);
但是我必须硬编码图像按钮的resource.id来指定。有什么方法可以缩短这个吗?感谢
答案 0 :(得分:1)
是的,你可以动态获取按钮的ID并填充你的数组:
int overallCounter = 1;
for (int i = 0 i < 8; i ++) {
for (int j = 0;j < 8; j++ ) {
buttons[i, j] = FindViewById(Resources.GetIdentifier("b" + overallCounter, "id", this.PackageName));
overallCounter++;
}
}