首页 > 解决方案 > android中的随机按钮

问题描述

例如,我有 1 个 TextView,它为我提供了两个随机生成的数字 3 + 4,并且有 4 个按钮,但一个随机按钮具有正确答案 (7) 和其他 3 个随机生成的数字。我不知道如何为随机按钮设置正确答案。我应该用什么?标签?

标签: javaandroidandroid-studiobuttontags

解决方案


最好的方法是这样做。

Button option1,option2,option3,option4;

private void addOptions(String answer){
    int answerOption = new Random().nextInt(4);

    switch (answerOption){
        case 0:
            option1.setText(answer);
            int option1R = new Random().nextInt(99);
            int option2R = new Random().nextInt(99);
            int option3R = new Random().nextInt(99);
            if (option1R != Integer.parseInt(answer)) {
                option2.setText(new Random().nextInt(99));
            }
            if (option2R != Integer.parseInt(answer)) {
                option3.setText(new Random().nextInt(99));
            }
            if (option3R != Integer.parseInt(answer)) {
                option4.setText(new Random().nextInt(99));
            }
            option4.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "wrong answer click", Toast.LENGTH_SHORT).show();
            });
            option3.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "wrong answer click", Toast.LENGTH_SHORT).show();
            });
            option2.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "wrong answer click", Toast.LENGTH_SHORT).show();
            });
            option1.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "correct answer clicked.", Toast.LENGTH_SHORT).show();
            });
            break;
        case 1:
            option1.setText(answer);
            int option1R2 = new Random().nextInt(99);
            int option2R2 = new Random().nextInt(99);
            int option3R2 = new Random().nextInt(99);
            if (option1R2 != Integer.parseInt(answer)) {
                option1.setText(new Random().nextInt(99));
            }
            if (option2R2 != Integer.parseInt(answer)) {
                option3.setText(new Random().nextInt(99));
            }
            if (option3R2 != Integer.parseInt(answer)) {
                option4.setText(new Random().nextInt(99));
            }
            option4.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "wrong answer click", Toast.LENGTH_SHORT).show();
            });
            option3.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "wrong answer click", Toast.LENGTH_SHORT).show();
            });
            option2.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "correct answer click", Toast.LENGTH_SHORT).show();
            });
            option1.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "wrong answer clicked.", Toast.LENGTH_SHORT).show();
            });
            break;
        case 2:
            option1.setText(answer);
            int option1R22 = new Random().nextInt(99);
            int option2R22 = new Random().nextInt(99);
            int option3R22 = new Random().nextInt(99);
            if (option1R22 != Integer.parseInt(answer)) {
                option1.setText(new Random().nextInt(99));
            }
            if (option2R22 != Integer.parseInt(answer)) {
                option2.setText(new Random().nextInt(99));
            }
            if (option3R22 != Integer.parseInt(answer)) {
                option4.setText(new Random().nextInt(99));
            }
            option4.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "wrong answer click", Toast.LENGTH_SHORT).show();
            });
            option3.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "correct answer click", Toast.LENGTH_SHORT).show();
            });
            option2.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "wrong answer click", Toast.LENGTH_SHORT).show();
            });
            option1.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "wrong answer clicked.", Toast.LENGTH_SHORT).show();
            });
            break;
        case 3:
            option1.setText(answer);
            int option1R222 = new Random().nextInt(99);
            int option2R222 = new Random().nextInt(99);
            int option3R222 = new Random().nextInt(99);
            if (option1R222 != Integer.parseInt(answer)) {
                option1.setText(new Random().nextInt(99));
            }
            if (option2R222 != Integer.parseInt(answer)) {
                option2.setText(new Random().nextInt(99));
            }
            if (option3R222 != Integer.parseInt(answer)) {
                option4.setText(new Random().nextInt(99));
            }
            option4.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "correct answer click", Toast.LENGTH_SHORT).show();
            });
            option3.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "wrong answer click", Toast.LENGTH_SHORT).show();
            });
            option2.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "wrong answer click", Toast.LENGTH_SHORT).show();
            });
            option1.setOnClickListener(v -> {
                Toast.makeText(getApplicationContext(), "wrong answer clicked.", Toast.LENGTH_SHORT).show();
            });
            break;
    }
}

请注意,通过 id 或使用绑定查找视图的任务是您的任务。


推荐阅读