java - android中的随机按钮
问题描述
例如,我有 1 个 TextView,它为我提供了两个随机生成的数字 3 + 4,并且有 4 个按钮,但一个随机按钮具有正确答案 (7) 和其他 3 个随机生成的数字。我不知道如何为随机按钮设置正确答案。我应该用什么?标签?
解决方案
最好的方法是这样做。
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 或使用绑定查找视图的任务是您的任务。
推荐阅读
- javascript - Javascript函数计算自以来经过的年数
- python - Pandas 中的条件累积和
- c++ - 如何调用存储在数组中的数组的值
- javascript - 赛普拉斯测试:如何比较 AJAX 调用前后的元素数量
- c++ - 如何使用 DirectX 11 渲染多个网格
- swift - 使用 ARKit 在 AR 中放置的 3D 对象中存储“标题”等数据
- java - 使用 Netty 限制 HTTP/2 中的流读取
- python - 使用 python 客户端从 yaml 创建 Kubernetes CronJob
- c# - 如何使用循环更改名称相似的内部类?
- ssl - 努力在 Apache CXF、Java 8、No Spring 中启用 SSLv2Hello