使新的 onclick 侦听器不会覆盖以前的侦听器

Make new onclick listeners not overwrite previous ones

我希望某些按钮在单击时根据它们在数组中的位置在某些 textview 上设置文本,我希望前四种情况使第一个 textview 说 "yeah",后四种使第二个文本视图说 "no"。前四个案例一直有效,直到我添加了后四个案例,那时我创建的所有 8 个按钮都使第二个文本视图显示 "no".

所以最近的听众似乎正在替换所有以前的听众

    public void applyClick(Button[] button, final TextView[] texty) {
        for (int i = 0; i < 14; i++) {
            switch(i) {
                case 0:case 1:case 2:case 3: {
                    button[i].setOnClickListener(new Button.OnClickListener() {
                        public void onClick(View v) {
                            texty[0].setText("yeah");
                        }
                    });
                }
                case 4:case 5:case 6:case 7: {
                    button[i].setOnClickListener(new Button.OnClickListener() {
                        public void onClick(View v) {
                            texty[1].setText("no");
                        }
                    });
                }
            }
        }
    }

您忘记在 2 个案例之后休息一下。