按下按钮即可更改勒克斯值

时间:2018-08-14 00:31:57

标签: android sensor

我昨天刚开始玩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]);
    }

}

1 个答案:

答案 0 :(得分:0)

从“ textView”获取文本在这里做错了。 您正在获取String值,并尝试将float与字符串相乘。

您必须这样做:

    String value = textView.getText().toString().trim();
    textView.setText(String.valueOf((Float.parseFloat(value))*0.02));

“ value”是一个字符串,首先必须在乘法之前将其解析为Float。

尝试执行上述代码。