有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为九个按钮编写for循环

我在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);

共 (1) 个答案

  1. # 1 楼答案

    您可以对所有按钮使用一个单击侦听器,然后在视图id上使用开关语句来确定单击了哪个按钮。数组应该从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);
    }