我是 android 的新手,所以如果我问的是一个非常简单的问题,请原谅我。
基本上我想做的是显示一个数字。当Y的值,event.value[1]在1到7之间。
我可以显示 X Y Z 位置的值。但是一旦我添加 if 语句来检查我的应用程序是否停止工作(请参见下面的代码)
我真的需要别人的帮助。
谢谢你的帮助。
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
int YValueMin = 1;
int YValueMax = 7;
accelero.setText("X: "+event.values[0]+
"\nY: "+event.values[1]+
"\nZ: "+event.values[2]);
if (y >= YValueMin && y <= YValueMax ){
RepCounter.setText("1");
}
else {
RepCounter.setText(" ");
}
}
最佳答案
当它崩溃时 logcat 会说什么?
很有可能是你的RepCounter
为空,你可以使用调试器检查一下。
编辑:请将您的代码更改为以下内容,这可能是一个解决方案。如果不是,我将需要完整的源代码以确保 RepCounter 不是类或未初始化的对象。
public void onSensorChanged(SensorEvent event)
{
if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
{
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
int YValueMin = 1;
int YValueMax = 7;
accelero.setText("X: " + event.values[0] + "\nY: " + event.values[1] + "\nZ: " + event.values[2]);
if(y >= YValueMin && y <= YValueMax)
{
RepCounter.setText("1");
}
else
{
RepCounter.setText(" ");
}
}
}
关于java - 如何使用加速度计值显示数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21139510/