我想在一个cardview
点击事件中调用它的背景色更改。但是我一次只希望更改一次cardview
的颜色,这意味着我单击 1st cardview
,颜色更改为黄色,但是当我单击 2nd cardview
将颜色更改为黄色,将所有卡片组的颜色更改为白色。
这是我的代码:-
btnOpt1.setOnClickListener {
btnOpt1.setCardBackgroundColor(Color.parseColor("#fcfca9"))
}
btnOpt2.setOnClickListener {
btnOpt2.setCardBackgroundColor(Color.parseColor("#fcfca9"))
}
btnOpt3.setOnClickListener {
btnOpt3.setCardBackgroundColor(Color.parseColor("#fcfca9"))
}
btnOpt4.setOnClickListener {
btnOpt4.setCardBackgroundColor(Color.parseColor("#fcfca9"))
}
btnOpt5.setOnClickListener {
btnOpt5.setCardBackgroundColor(Color.parseColor("##fcfca9"))
}
答案 0 :(得分:2)
创建方法并为选定和未选定的视图传递视图
btnOpt1.setOnClickListener {
clickCardView(btnOpt1)
}
创建方法并从所有点击监听器中调用
private void clickCardView(View btnView){
btnOpt1.setCardBackgroundColor(Color.parseColor("#ffffff"));
btnOpt2.setCardBackgroundColor(Color.parseColor("#ffffff"));
btnOpt3.setCardBackgroundColor(Color.parseColor("#ffffff"));
btnOpt4.setCardBackgroundColor(Color.parseColor("#ffffff"));
//// main logic is here
btnView.setCardBackgroundColor(Color.parseColor("#fcfca9"));
}
答案 1 :(得分:0)
单击按钮后,像这样其余按钮更改白色
btnOpt1.setOnClickListener {
btnOpt1.setCardBackgroundColor(Color.parseColor("#fcfca9"));
btnOpt2.setCardBackgroundColor(Color.parseColor("#ffffff"));
btnOpt3.setCardBackgroundColor(Color.parseColor("#ffffff"));
btnOpt4.setCardBackgroundColor(Color.parseColor("#ffffff"));
}