android xml引用不适用于开关和静态数组的大小写
我正试图通过循环使用xml中的按钮(因为我有很多按钮),让我的生活变得更加轻松。为什么这不起作用android xml引用不适用于开关和静态数组的大小写,android,xml,reference,static,for-loop,Android,Xml,Reference,Static,For Loop,我正试图通过循环使用xml中的按钮(因为我有很多按钮),让我的生活变得更加轻松。为什么这不起作用 Button bf[]; public static final int[] Buttons = { R.id.b1, R.id.b2, R.id.b3, R.id.b4, R.id.b5, R.id.b6, R.id.b7, R.id.b8, R.id.b9, R.id.bBack, R.id.bClearAll, R.id.bClear }; 我有一个静态的fi
Button bf[];
public static final int[] Buttons = { R.id.b1, R.id.b2, R.id.b3, R.id.b4,
R.id.b5, R.id.b6, R.id.b7, R.id.b8, R.id.b9, R.id.bBack,
R.id.bClearAll, R.id.bClear };
我有一个静态的final int,它保存了我的一些按钮,这是标题中的列表。
在onCreate方法中,我设置了按钮:
for (int i = 1; i < 10; i++) {
bf[i] = (Button) findViewById(Buttons[i - 1]);
bf[i].setOnClickListener(this);
}
哪个也不行?!?!请帮忙?v是您在onClickListener中的视图,对吗? 你为什么不使用:
Button b = (Button) v;
Toast.makeText(this, b.getText(), Toast.LENGTH_SHORT).show();
其他几点:
- 您没有发布完整的代码,但我想您可以将按钮数组更改为private
- 也许你甚至不需要男朋友
for (int i : Buttons) {
Button b = findViewById(i);
b.setOnClickListener(myClickListener);
}
v是你在onClickListener中的视图,对吗? 你为什么不使用:
Button b = (Button) v;
Toast.makeText(this, b.getText(), Toast.LENGTH_SHORT).show();
其他几点:
- 您没有发布完整的代码,但我想您可以将按钮数组更改为private
- 也许你甚至不需要男朋友
for (int i : Buttons) {
Button b = findViewById(i);
b.setOnClickListener(myClickListener);
}
在数组中为12,但在10时停止,i<10。数组从0开始,而不是从1开始。尝试i=0,i<11,i++我想我所有的按钮都设置好了(我不知道所有的按钮,但足以测试应用程序)错误出现在开关和案例中,我不知道如何简单地循环使用我所有的按钮。Eclipse在我发布的最后两个代码块中都给了我一个错误:/在最后一个代码块中,它在数组中的按钮[0]=“大小写表达式必须是常量表达式”12上给了我一个错误,但您在10处停止,i<10。数组从0开始,而不是从1开始。尝试i=0,i<11,i++我想我所有的按钮都设置好了(我不知道所有的按钮,但足以测试应用程序)错误出现在开关和案例中,我不知道如何简单地循环使用我所有的按钮。Eclipse在我发布的最后两个代码块中都给了我一个错误:/在最后一个代码块中,它在按钮[0]=“大小写表达式必须是常量表达式”上给了我一个错误