将图像按钮通过其ID设置为8x8 2d数组。人造人。哈马林



我分别制作了一个大小为 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++;
       }
    }

最新更新