java - 将按钮重置为默认背景
问题描述
我知道这已经被问过了,但它已经过时了:
我有 2 个按钮代表 2 个选项,如果选择一个,则背景颜色变为黄色。但是,如果我想更改选择,我需要以某种方式重置按钮:
我已经尝试将其重新设置,但出现了一些旧设计。您能给我提供现代按钮样式的 id 吗?并告诉我如何实现它?
int myChoice;
if (view == findViewById(R.id.choice1)){
myChoice = 1;
choice1.setBackgroundColor(getResources().getColor(R.color.highlightButton));
choice2.setBackgroundResource(android.R.drawable.btn_default);
}
else if (view == findViewById(R.id.choice2)){
myChoice = 2;
choice2.setBackgroundColor(getResources().getColor(R.color.highlightButton));
choice1.setBackgroundResource(android.R.drawable.btn_default);
}
}
解决方案
使用带有 getBackground() 的标签。这将确保您始终设置回原始状态。在函数开头添加以下内容
if (v.getTag() == null)
v.setTag(v.getBackground());
然后代替setBackgroundResource
, 使用
v.setBackground(v.getTag());