首页 > 解决方案 > 如何修复多次单击按钮和(数据库测验应用程序)

问题描述

我提出了一个关于firebase的问题。问答部分有按钮。但是当有连续点击时,下一个问题的答案也会被点击。我该如何解决这个问题?

这是 QuestionActivity.java

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_question);

        question = findViewById(R.id.question);
        qCount = findViewById(R.id.question_num);
        timer = findViewById(R.id.coundown);

        option1 = findViewById(R.id.option1);
        option2 = findViewById(R.id.option2);
        option3 = findViewById(R.id.option3);
        option4 = findViewById(R.id.option4);

        option1.setOnClickListener(this);
        option2.setOnClickListener(this);
        option3.setOnClickListener(this);
        option4.setOnClickListener(this);

这是 OnClick 方法

@Override
    public void onClick(View view) {
        int selectedOption = 0;


        switch (view.getId()) {
            case R.id.option1:
                selectedOption = 1;
                break;

            case R.id.option2:
                selectedOption = 2;
                break;

            case R.id.option3:
                selectedOption = 3;

                break;
            case R.id.option4:
                selectedOption = 4;

            default:

        }
        //  countdown.cancel();
        checkAnswer(selectedOption, view);


    }

这是 Question.java


public class Question {

    String question;
    String optionA;
    String optionB;
    String optionC;
    String optionD;
    int correctAns;


    public Question(String question, String optionA, String optionB, String optionC, String optionD, int correctAns) {
        this.question = question;
        this.optionA = optionA;
        this.optionB = optionB;
        this.optionC = optionC;
        this.optionD = optionD;
        this.correctAns = correctAns;
    }

标签: javaandroid

解决方案


您需要将开关添加到您的侦听器:

@Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.option1:
                    // click by first
                break;
            case R.id.option2:
                   // click by second
                break;
            case R.id.option3:

                break;
            case R.id.option4:

                break;
        }
    }

推荐阅读