근접 센서 사용한 간단한 예제 인데 도움부탁드려요

 

근접센서값에서 값이 1이 나올땐 빨간색을 출력하고

값이 0이면 초록색을 출력하는건데

 

근접 센서에 손을 데서 값을 1로 만들면 빨간색이 나옵니다. 그런데 손을 떼어서 값을 0으로 만들면 초록색이 나오질 않네요..

해결 부탁드립니다!

 

아래 소스코드 내용입니다.

 

 

 

 


public class GjtestActivity extends Activity
implements SensorEventListener{
    private SensorManager sensorManager;
    private Sensor ProximitySensor;
    private TextView txt1,txt2,val1,val2;
    private long lastTime;
    private float testNum;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        txt1=(TextView)findViewById(R.id.txt1);
        txt2=(TextView)findViewById(R.id.txt2);
        val1=(TextView)findViewById(R.id.val1);

        sensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);
        ProximitySensor=sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
       
    }
    @Override
    protected void onStart(){
        super.onStart();
        if(ProximitySensor!=null){
            sensorManager.registerListener(this, ProximitySensor,SensorManager.SENSOR_DELAY_FASTEST);
        }
    }
    @Override
    protected void onStop(){
        super.onStop();
        if(sensorManager!=null){
            sensorManager.unregisterListener(this);
        }
    }

    public void onAccuracyChanged(Sensor sensor,int acc){
       
    }

    public void onSensorChanged(SensorEvent event){
        if(event.sensor.getType()==Sensor.TYPE_PROXIMITY){
            long currentTime=System.currentTimeMillis();
            long gabOfTime=(currentTime-lastTime);
        if(gabOfTime>100){
            lastTime=currentTime;
            testNum=event.values[0];
            txt1.setText("Sensor value: "+testNum);
            if(testNum==0.0){
             val1.setBackgroundColor(Color.GREEN);
            }
            else if(testNum==1.0){
            }
            val1.setBackgroundColor(Color.RED);
            }
        }
        }
    }