我正在Android Studio中为大学项目创建一个简单的淘气和跨越游戏,但我很难为循环通过阵列的九个按钮中的每一个创建一个for循环。我怎么做这个呢?
以下是在OnClickListener中设置事件侦听器的九个按钮的代码。
Button[] buttons = new Button[10];
buttons[1] = (Button) findViewById(R.id.one);
buttons[2] = (Button) findViewById(R.id.two);
buttons[3] = (Button) findViewById(R.id.three);
buttons[4] = (Button) findViewById(R.id.four);
buttons[5] = (Button) findViewById(R.id.five);
buttons[6] = (Button) findViewById(R.id.six);
buttons[7] = (Button) findViewById(R.id.seven);
buttons[8] = (Button) findViewById(R.id.eight);
buttons[9] = (Button) findViewById(R.id.nine);
答案 0 :(得分:2)
您可以为所有按钮设置单击侦听器,然后在视图ID上使用switch语句来确定单击了哪个按钮。你应该将数组从0开始,而不是1。
private final View.OnClickListener mListener = new View.OnClickListener() {
public void onClick(View view) {
switch (view.getId()) {
case R.id.one:
// do stuff;
break;
case R.id.two:
// do stuff;
break;
case R.id.three:
// do stuff;
break;
case R.id.four:
// do stuff;
break;
// add more
}
}
}
然后只需将此侦听器设置为按钮
即可for (int i = 0; i < 9; ++i) {
buttons[i].setOnClickListener(mListener);
}