我尝试制作一系列按钮:
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;
我在这里做错了什么? 谢谢!
答案 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);
在我看来,这更具可读性;)