我目前正在尝试更改应用程序中文本视图的背景,这取决于从neurosky耳机读取的有关用户中介级别的数据。
基本上,如果中介级别低于30/100,我希望textview变为红色。
此功能目前正在运行。然而,一旦水平低于30并且文本视图变为红色,即使调解级别上升,红色也不会消失。 (水平每秒测量一次)。我该如何解决这个问题?
当前代码:
case TGDevice.MSG_MEDITATION:
meditation.setText("Meditation: " + msg.arg1 + "\n");
if(msg.arg1<=30){
//if mediation level is low it turns red
meditation.setBackgroundColor(Color.RED);
}
break;
答案 0 :(得分:1)
为什么不在if子句中使用else部分,如:
if(msg.arg1<=30){
//if mediation level is low it turns red
meditation.setBackgroundColor(Color.RED);
}else{
meditation.setBackgroundColor(Color.Your_color);
}
答案 1 :(得分:0)
使用另一个If语句检查水平是否已升至30以上,以便你可以改变颜色?
case TGDevice.MSG_MEDITATION:
meditation.setText("Meditation: " + msg.arg1 + "\n");
if(msg.arg1<=30){
//if mediation level is low it turns red
meditation.setBackgroundColor(Color.RED);
}
//new code is below
else if(msg.arg1>30){
//if mediation level is high it turns to soem toher color
meditation.setBackgroundColor(Color.Blue);
}
break;