我分别制作了一个大小为 8 和 8 的 2d 数组,并制作了 64 个图像按钮,每个按钮都有一个 b1、b2 b3 id。我很想将 id 设置为数组。
一个例子是:
buttons[0, 0] = FindViewById(Resource.Id.b1(;
buttons[0, 1] = FindViewById(Resource.Id.b2(;
.
.
.
buttons[1, 0] = FindViewById(Resource.Id.b9(;
由于我有 64 个图像按钮,我是否必须编写 64 行来初始化要解析为 2d 按钮数组的每个 Resource.Id?我知道我可以为每一行和每一列做一个双 for 循环,例如:
buttons[x, y] = FindViewById(Resource.Id.b1(;
但是,我必须对图像按钮的 resource.id 进行硬编码才能指定。有什么方法可以缩短这个时间吗?谢谢
是的,您可以动态获取按钮的 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++;
}
}