0
我在創建一個步進計數器,我想每天使用SensorEvent.sensor
& Sensor.TYPE_STEP_COUNTER
重置。我知道這應該可以通過保存數組的初始值並減去當前值。問題是數組是不可變的。有沒有一個解決方法,以減去一個數組本身獲得0,但仍然使其數?'SensorEvent.sensor'的存儲初始值陣列
我當前的代碼將該值設置爲0,但不會計數,因爲這兩個變量來自同一個數組。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
myView = inflater.inflate(R.layout.skritt, container, false);
textView = (TextView) myView.findViewById(R.id.skrittText);
mSensorManager = (SensorManager) getActivity().getSystemService(Context.SENSOR_SERVICE);
mStepCounterSensor = mSensorManager
.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
mStepDetectorSensor = mSensorManager
.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR);
return myView;
}
public void onSensorChanged(SensorEvent event) {
Sensor sensor = event.sensor;
float[] values = event.values;
int value = -1;
final int value1 =(int) values[0];
int value2 = 0;
if (values.length > 0) {
value = (int) values[0];
}
if (sensor.getType() == Sensor.TYPE_STEP_COUNTER) {
value2 = value - value1;
textView.setText("" + value2);
} else if (sensor.getType() == Sensor.TYPE_STEP_DETECTOR) {
// For test only. Only allowed value is 1.0 i.e. for step taken
textView.setText("" + value);
}
}