Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android xml引用不适用于开关和静态数组的大小写_Android_Xml_Reference_Static_For Loop - Fatal编程技术网

android 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

我正试图通过循环使用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 };
我有一个静态的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循环遍历所有按钮,使其更灵活:

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循环遍历所有按钮,使其更灵活:

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]=“大小写表达式必须是常量表达式”上给了我一个错误