gpt4 book ai didi

java - findViewById 中根据名称动态访问

转载 作者:行者123 更新时间:2023-12-01 18:48:16 26 4
gpt4 key购买 nike

很抱歉标题含糊不清,

下面是麻烦。我想使用 x 变量来迭代该对象,该对象在名称中使用 1 -9 值 (R.id.imageButtonx)

for (int x = 1; x <10; x++)
mm.add((Button) findViewById(R.id.imageButtonx));

//只是为了更深入一点。这是适用于 Android 的。

我从一个按钮数组开始,然后我这样做了:

 main_Menu = new Button[] {
(Button) findViewById(R.id.imageButton1),
(Button) findViewById(R.id.imageButton2),
(Button) findViewById(R.id.imageButton3),
(Button) findViewById(R.id.imageButton4),
(Button) findViewById(R.id.imageButton5),
(Button) findViewById(R.id.imageButton6),
(Button) findViewById(R.id.imageButton7),
(Button) findViewById(R.id.imageButton8),
(Button) findViewById(R.id.imageButton9)
};

所以我可以做两行 foreach 循环来附加 onbuttonclicklistener。

所以我想知道是否可以将十行减少为两行。我转移到了 ArrayList。我曾希望它是像方括号、括号、单引号或双引号这样的东西来围绕 x 变量,但从答案之一来看,这似乎是不可能的。

最佳答案

Java 不会使用循环变量对 imageButtonx 中的“x”进行文本替换。

但是,您可以创建一个 imageButton ID 数组,并通过索引引用每个数组。

关于java - findViewById 中根据名称动态访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16750582/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com