我是安卓新手。我在做一个应用程序时卡住了。我已经使用了 5 个带时隙的 TextView ,我想表明当我单击一个 TextView 时它应该更改其背景颜色,当我单击另一个 TextView 时第一个 TextView 的背景颜色必须消失并且当前 TextView 的颜色必须突出显示。
我在这里发布我的代码:
public void onClick(View v) {
switch (v.getId()){
case R.id.time_slot_one:
setTimeSlotOne.setBackgroundColor(Color.parseColor("#bdbdbd"));
break;
case R.id.time_slot_two:
setTimeSlotTwo.setBackgroundColor(Color.parseColor("#bdbdbd"));
break;
case R.id.time_slot_three:
setTimeSlotThree.setBackgroundColor(Color.parseColor("#bdbdbd"));
break;
case R.id.time_slot_four:
setTimeSlotFour.setBackgroundColor(Color.parseColor("#bdbdbd"));
break;
case R.id.time_slot_five:
setTimeSlotFive.setBackgroundColor(Color.parseColor("#bdbdbd"));
break;
}
最佳答案
一种简单的方法是创建一个禁用后台函数,每次您点击一个新的后台函数时都会调用该函数。
public void removeBackgroundColors() {
setTimeSlotOne.setBackgroundColor(Color.WHITE);
setTimeSlotTwo.setBackgroundColor(Color.WHITE);
setTimeSlotThree.setBackgroundColor(Color.WHITE);
setTimeSlotFour.setBackgroundColor(Color.WHITE);
setTimeSlotFive.setBackgroundColor(Color.WHITE);
}
现在只需将您的代码更改为:
case R.id.time_slot_two:
removeBackgroundColors();
setTimeSlotTwo.setBackgroundColor(Color.parseColor("#bdbdbd"));
break;
...
更简单的是在你的案例陈述之前调用它,这取决于你想采取什么行动。
关于android - 带有背景颜色的 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37879744/