Java中的按钮数组

时间:2014-03-02 12:20:45

标签: java android arrays

我尝试制作一系列按钮:

Button[] buttonlist = new Button[2];

Button btn1;
Button btn2;
Button btn3;
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn3 = (Button) findViewById(R.id.button3);

buttonlist[0] = btn1;
buttonlist[1] = btn2;
buttonlist[2] = btn3;

我在这里做错了什么? 谢谢!

4 个答案:

答案 0 :(得分:6)

必须为Button[] buttonlist = new Button[3];

答案 1 :(得分:1)

java中的数组索引并不以1开头...它以0开头...这是你做的错误.. 你必须删除这一行

buttonlist[2] = btn3;

或添加此行

Button[] buttonlist = new Button[3];

答案 2 :(得分:0)

尝试一下。希望它有效:)

Button btn[] = new Button[2];
for (int i=0;i<2;i++){
    btn[i] = new Button(this); // initialize it
    btn[i].setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));
    btn[i].setText(name[i]);
    layout.addView(btn[i]);
}

答案 3 :(得分:0)

上面的答案是完全正确的,但我只想补充一点,你可以避免使用临时变量并直接在数组中分配按钮:

Button[] buttonlist = new Button[3];

buttonlist[0] = (Button) findViewById(R.id.button1);
buttonlist[1] = (Button) findViewById(R.id.button2);
buttonlist[2] = (Button) findViewById(R.id.button3);

在我看来,这更具可读性;)