0
我正在使用接近傳感器來增加一個TextView
中的數字,它的工作,但它是以兩個增量觸發的,即0 2 4 6 8
。我想得到一個增量,可能嗎?使用接近傳感器與onSensorChanged
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'變慢,可以使用幾種不同的debounce技術。 – Budius