>我正在制作一个应用程序,我想要一个数字计数,因为接近传感器附近有东西,比如如果我把手指放在传感器上,它在文本视图上显示 1,如果我再次这样做,它会显示 2,依此类推。我无法弄清楚在传感器上使用什么条件更改。
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();
}
}
我无法在文本视图中获取值,并且在 toast 中值不断递增
试试这个...
@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();
}
}