按下按钮颜色时会发生变化,但是当我进行下一次迭代时,该按钮颜色不会成为默认背景颜色



我对安卓应用程序开发很陌生。目前,我正在做简单的安卓测验应用程序,有 10 个问题。

我的默认选项按钮颜色是白色。当用户回答三个选项中的问题时,我想通过更改选项按钮颜色(通过在setOnClickListener方法中使用setBackgroundcolor(向他们显示所选选项。

但我的问题是,我的第一个问题选择选项颜色也来到第二个问题,也没有选择答案。我不知道如何在每次迭代时取消背景颜色。

提前谢谢!!

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);
}
});

我们可以定义 ColorStateList 资源。

您可以使用以下内容(根据需要随意更改颜色(:

res/color/button_background_selector.xml中创建文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="@android:color/red" /> <!-- pressed -->
<item android:state_focused="true"
android:color="@android:color/blue" /> <!-- focused -->
<item android:state_hovered="true"
android:color="@android:color/green" /> <!-- hovered -->
<item android:color="@android:color/yellow" /> <!-- default -->
</selector>

然后,按如下方式使用它:

<Button
...
android:background="@color/button_background_selector" />

当您显示下一个问题之前更改按钮的颜色时,如下面的代码... 选项1.设置背景颜色(R.color.white(;

最新更新