Android:根据输入更改视图的背景颜色?

时间:2014-06-30 15:55:38

标签: android colors

我目前正在尝试更改应用程序中文本视图的背景,这取决于从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;

2 个答案:

答案 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;