我已经为我的传感器创建了一个代码,但我想通过按下这样的按钮启用并禁用它:
shake_on.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isSensorActivated) {
shake_on.setImageResource(R.drawable.shake_on);
sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
}
else {
sensorManager.unregisterListener(this);
shake_on.setImageResource(R.drawable.shake_off);
}
}
});
虽然现在它不允许我在onclick方法中注册和取消注册,但有人可以帮助我。
答案 0 :(得分:2)
当您创建 OnClickedListener 时, 此 实际上是对侦听器的引用,因此它不起作用,因为您新创建的 OnClickedListener 不是 SensorListener 。要引用您要注册的片段/活动,请使用:
Activity.this
或
Fragment.this
并将Activity / Fragment替换为实际名称。