Java 单击获取传感器值
我可以使用Java 单击获取传感器值,java,android,Java,Android,我可以使用 public void onSensorChanged(SensorEvent event) { float lux = event.values[0]; Button myButton = (Button) findViewById(R.id.button); myButton.setText(String.valueOf(lux)); 但是,我希望每次单击按钮时,它只显示1个值 public void buttonOnClick(View v) {
public void onSensorChanged(SensorEvent event) {
float lux = event.values[0];
Button myButton = (Button) findViewById(R.id.button);
myButton.setText(String.valueOf(lux));
但是,我希望每次单击按钮时,它只显示1个值
public void buttonOnClick(View v) {
Button myButton = (Button) findViewById(R.id.button);
myButton.setText(String.valueOf(lux));
在类开始时声明的var lux
public float lux;
但是,它只显示了0.0
您能帮我一下吗?您正在将event.values[0]赋值给一个新的flaot(而不是类开头声明的成员变量)。更改您的OnSensor更改如下:
public void onSensorChanged(SensorEvent event) {
lux = event.values[0];
Button myButton = (Button) findViewById(R.id.button);
myButton.setText(String.valueOf(lux));
}
顺便说一句,更好的设计是将成员变量声明为private。但那是另一回事。请在设置值之前打印值好吗?似乎设置文本不是问题。我不确定Android在处理
runOnUIThread
线程之外的UI元素时有多严格。。。您能否发布更多有关OnClickListener的工作以及检索传感器并与传感器交互的代码?从onSensorChanged
中删除float
。仅保留lux=事件值[0]代码>