【发布时间】:2015-08-30 11:28:54
【问题描述】:
我正在使用接近传感器来增加TextView 中的一个数字,它可以工作,但它是以两个为增量触发的,即0 2 4 6 8。我想增加一,可以吗?
TextView text ;
SensorManager sm ;
Sensor Proxsens;
int i=0 ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text =(TextView)findViewById(R.id.text_id);
sm = (SensorManager)getSystemService(SENSOR_SERVICE);
Proxsens = sm.getDefaultSensor(Sensor.TYPE_PROXIMITY);
sm.registerListener(this,Proxsens,SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
public void onSensorChanged(SensorEvent event) {
text.setText(String.valueOf(i));
i++;
// text.setText(String.valueOf(event.values[0]));
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
【问题讨论】:
-
没有“解决方案”,这样做是因为
onSensorChanged连续调用两次,因为系统连续计算了 2 次更改。您可以仔细检查此行为,但在回调中放置Log.d(...行。如果您仍然希望TextView更改得更慢,可以使用几种不同的去抖动技术。谷歌一下。
标签: android proximity proximitysensor