在Android项目的Java代码中,如果您想要视图资源的引用,您可以执行以下操作:
View addButton = findViewById(R.id.button_0);
Run Code Online (Sandbox Code Playgroud)
在上面的R.id.button_0不是String.是否可以通过字符串动态引用资源,例如" R.id.button_0"?
我想通过" R.id.button_%i" 来引用一个按钮,其中%i某个有效索引被替换.
嘿.我的应用程序将使用64个ImageButtons(8x8)的数组,并且它们都已在我的XML布局中声明,其名称类似于one1,two5,eight8等.而不是在我的Java中单独声明它们我认为它可能很聪明地在一些for循环中声明它们.我有
ImageButton musicGrid[][] = new ImageButton [8][8];
Run Code Online (Sandbox Code Playgroud)
然后我有我的嵌套for循环,它基本上创建了一个代替R.id.whatever的字符串.它只是我循环中的最后一行,应该进行分配.它的正确语法是什么,或者甚至不可能做到(如果是这样,我将如何更好地处理64按钮网格?).谢谢!
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
String btnID = "R.id.";
switch(i) {
case 0: btnID.concat("one"); break;
case 1: btnID.concat("two"); break;
case 2: btnID.concat("three"); break;
case 3: btnID.concat("four"); break;
case 4: btnID.concat("five"); break;
case 5: btnID.concat("six"); break;
case 6: btnID.concat("seven"); break;
case 7: btnID.concat("eight"); break;
}
switch(j) {
case 0: btnID.concat("1"); break;
case 1: btnID.concat("2"); break;
case 2: btnID.concat("3"); …Run Code Online (Sandbox Code Playgroud)