我在android中创建了一个测验应用程序,当用户单击“重置”按钮后,我希望所有已标记的答案都未标记或该应用程序与启动时相同。我该怎么办?
XML和JAVA的代码位于以下github存储库中。 Code:
答案 0 :(得分:3)
好的,在我从here阅读了您的源代码之后,我决定完全不让您继续使用这种方法。
花些时间,阅读一些有关RecyclerView及其工作原理的信息,这将使您的生活更轻松。
Here是有关如何在示例中使用它的教程。
一旦您熟悉它,我相信您将使该屏幕看起来更好,并且代码也将更加清晰和编写得井井有条。
针对您的特殊情况,我可能会提供一种方法,但是您将复制粘贴它,仅此而已。花一些时间,你会喜欢的东西<3 如果确实需要,我将通过一个简单的实现来编辑答案。
快乐编码<3
答案 1 :(得分:0)
//you can use this on reset button click for checkbox
if (checkBox1.isChecked()) {
checkBox1.setChecked(false);
}
if (checkBox2.isChecked()) {
checkBox2.setChecked(false);
}
答案 2 :(得分:0)
将所有复选框拉到Arraylist中:
ArrayList<CheckBox> checkboxList = new ArrayList<>();
checkboxList.add(checkbox1);
然后删除所有带有复选框的复选框,请尝试以下操作:
for(int i = 0; i < checkboxList.size(); i++) {
CheckBox checkBox = checkboxList.get(i);
checkBox.setChecked(false);
}
我建议您使用recyclerview,因为您的代码不是最佳方法。希望对您有帮助。
答案 3 :(得分:0)
在您的MainActivity的onCreate(...)方法中添加以下内容:
Button resetButton=findViewById(R.id.button2);
resetButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
recreate();
}
});
它将调用onDestroy()并重新启动您的Activity。 希望我能帮上忙! 问候, Cs