我昨天刚开始玩Android Studio。我试图使用按钮转换光传感器的照度值。我创建了一个按钮,我想知道如何更改值。公式应为:勒克斯值乘以0.002?我想知道Java代码。光传感器已经在工作。只是想用上述方程式更改值。尝试搜索继续方程式但有困难。希望得到答案。谢谢。
TextView textView;
SensorManager sensorManager;
Sensor sensor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
sensorManager = (SensorManager) getSystemService(Service.SENSOR_SERVICE);
sensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
}
@Override
protected void onPause() {
super.onPause();
sensorManager.unregisterListener(this);
}
@Override
protected void onResume() {
super.onResume();
sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
if (sensorEvent.sensor.getType() == Sensor.TYPE_LIGHT) {
textView.setText("" + sensorEvent.values[0]);
}
}
答案 0 :(得分:0)
从“ textView”获取文本在这里做错了。 您正在获取String值,并尝试将float与字符串相乘。
您必须这样做:
String value = textView.getText().toString().trim();
textView.setText(String.valueOf((Float.parseFloat(value))*0.02));
“ value”是一个字符串,首先必须在乘法之前将其解析为Float。
尝试执行上述代码。