java - 如何修复多次单击按钮和(数据库测验应用程序)
问题描述
我提出了一个关于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;
}
解决方案
您需要将开关添加到您的侦听器:
@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;
}
}
推荐阅读
- database - 如何在数据库laravel中存储不同用户角色的用户元信息
- angular - 带有函数调用的Angular 7动态列
- apache-spark - 使用简单查询时,如何在 Hive-Spark 中修复“org.apache.hadoop.hive.ql.metadata.HiveException”?
- python - 使用 Pandas pivot_table 嵌套小计“所有”行
- python - 二叉树的高度 - 迭代
- c - 使用 bazel 制作共享对象时不能使用全局
- java - 如何使环境变量在 JAR 文件中工作?
- filter - 如何按 BlankNode id 过滤
- node.js - 如何忽略 git push 上的公用文件夹?
- java - onCreateViewHolder 与 android.support.v7 中的 onCreateViewHolder 发生冲突