我对android应用程序开发非常陌生。目前,我正在做带有10个问题的简单android测验应用程序。
我的默认选项按钮颜色为白色。当用户回答了三个选项中的一个问题时,我想通过更改选项按钮的颜色(通过在setOnClickListener方法中使用setBackground颜色)向他们显示所选的选项。
但是我的问题是,我的第一个问题选择的选项颜色也来到了第二个问题,而没有选择答案。我不知道如何在每次迭代时取消背景色。
提前致谢!!!
Option1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selected_option = 0;
question_id = 1;
Option1.setBackgroundColor(R.color.Yellow);
updateSelectedAnswer(selected_option, question_id);
}
});
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Android应用开发中,为了实现您所描述的功能,即在选择新问题的选项时重置前一个问题的选项颜色,您需要在每次问题切换时主动恢复所有选项按钮的颜色。这可以通过在开始新问题之前调用一个方法来实现,该方法将所有选项按钮的背景颜色重置为默认值。
首先,确保您有一个方法用于设置按钮的背景颜色到默认(白色):
private void resetOptionColors() {
Option1.setBackgroundColor(ContextCompat.getColor(this, R.color.defaultButtonColor));
Option2.setBackgroundColor(ContextCompat.getColor(this, R.color.defaultButtonColor));
Option3.setBackgroundColor(ContextCompat.getColor(this, R.color.defaultButtonColor));
// 如果有更多选项,继续添加...
}
这里的R.color.defaultButtonColor
应该替换为您应用中定义的默认按钮颜色资源ID。
然后,在处理每个问题逻辑的地方(例如,在用户点击“下一个”按钮或自动前进到下一题时),在开始处理新问题之前调用这个resetOptionColors()
方法:
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 重置所有选项颜色
resetOptionColors();
// 然后进行到下一个问题的逻辑
// ...
}
});
这样,每当用户移动到下一个问题时,当前显示的所有选项颜色都会被重置为默认颜色,从而解决了您的问题。记得根据实际的按钮ID和布局调整上述代码。