0

我正在制作一个应用程序,我想要一个数字计数,因为接近传感器附近有东西,比如如果我将手指放在传感器上,它会在 textview 上显示 1,如果我再次这样做,它会显示 2,依此类推。我无法弄清楚在 onSensorChanged 上使用什么条件。

public void onSensorChanged(SensorEvent event) {
    // TODO Auto-generated method stub
    try{
        if(event.values[0] < event.sensor.getMaximumRange()){
            for (i=(int) event.values[0];i<=100;i++)
            Toast.makeText(getApplicationContext(), "" +i, Toast.LENGTH_LONG).show();

            tv.setText(i);

        }


    }catch(Exception e){
        e.printStackTrace();
    }
}

我无法在 textview 中获取值,并且在 toast 中值不断增加

4

1 回答 1

1

试试这个...

@Override
public void onSensorChanged(SensorEvent event) {
    if(event.values[0] < event.sensor.getMaximumRange()) {
        // Object is near to the Sensor. increment the value
    }
}

并根据您的代码

private int nearCount; // global variable.

 @Override
public void onSensorChanged(SensorEvent event) {
    if (event.values[0] < event.sensor.getMaximumRange()) {
        nearCount++;
        Toast.makeText(getApplicationContext(), "Count = "+nearCount, Toast.LENGTH_SHORT).show();
    }
}
于 2014-02-20T10:43:42.193 回答