Датчик приближения и onSensorChanged

Я делаю приложение, для которого я хочу, чтобы число подсчитывалось, поскольку что-то находится рядом с датчиком приближения, например, если я приложу палец к датчику, он отобразит 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();
    }
}

Я не могу получить значения в текстовом представлении, а в тосте значения продолжают увеличиваться


person Karma5    schedule 20.02.2014    source источник


Ответы (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();
    }
}
person Gopal Gopi    schedule 20.02.2014