由于 Toast 和 OnSensor Changed 的无效组合导致的错误
Error due to invalid combination of Toast and OnSensor Changed
在此显示的错误如下所述。我在网上搜索了正确答案 none is applicable so far。我试图在检测到加速度计读数突然变化时发出一条简单的消息,以检测跌倒。我认为代码中没有任何其他错误,如果有,欢迎您更正。
Error: cannot find symbol method maketext(MainActivity,String,int)
这是我的代码:
@Override
public void onSensorChanged(SensorEvent event) {
if (started) {
double x = event.values[0];
double y = event.values[1];
double z = event.values[2];
long timestamp = System.currentTimeMillis();
Data data = new Data(timestamp, x, y, z);
sensorData.add(data);
}
if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){
double gacc=SensorManager.STANDARD_GRAVITY;
double a=event.values[0];
double b=event.values[1];
double c=event.values[2];
long mintime=System.currentTimeMillis();
boolean min = false;
boolean max = false;
int m = 0;
double xyz=Math.round(Math.sqrt(Math.pow(a,2)+Math.pow(b,2)+Math.pow(c,2)));
if(xyz<=3.0){
min = true;
}
if(min==true){
m++;
if(xyz>=14){
max=true;
}
}
if(min && max==true){
Toast.maketext(MainActivity.this,"FALL DETECTED!",Toast.LENGTH_LONG).show();
m=0;
min=false;
max=false;
}
if (m>4) {
m=0;
min=false;
max=false;
}
}
}
您正在呼叫 maketext
而不是 makeText
。注意驼峰式。
替换为:
Toast.makeText(MainActivity.this,"FALL DETECTED!",Toast.LENGTH_LONG).show();
更正后,请确保您使用的是 android.widget.Toast
。
在此显示的错误如下所述。我在网上搜索了正确答案 none is applicable so far。我试图在检测到加速度计读数突然变化时发出一条简单的消息,以检测跌倒。我认为代码中没有任何其他错误,如果有,欢迎您更正。
Error: cannot find symbol method maketext(MainActivity,String,int)
这是我的代码:
@Override
public void onSensorChanged(SensorEvent event) {
if (started) {
double x = event.values[0];
double y = event.values[1];
double z = event.values[2];
long timestamp = System.currentTimeMillis();
Data data = new Data(timestamp, x, y, z);
sensorData.add(data);
}
if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){
double gacc=SensorManager.STANDARD_GRAVITY;
double a=event.values[0];
double b=event.values[1];
double c=event.values[2];
long mintime=System.currentTimeMillis();
boolean min = false;
boolean max = false;
int m = 0;
double xyz=Math.round(Math.sqrt(Math.pow(a,2)+Math.pow(b,2)+Math.pow(c,2)));
if(xyz<=3.0){
min = true;
}
if(min==true){
m++;
if(xyz>=14){
max=true;
}
}
if(min && max==true){
Toast.maketext(MainActivity.this,"FALL DETECTED!",Toast.LENGTH_LONG).show();
m=0;
min=false;
max=false;
}
if (m>4) {
m=0;
min=false;
max=false;
}
}
}
您正在呼叫 maketext
而不是 makeText
。注意驼峰式。
替换为:
Toast.makeText(MainActivity.this,"FALL DETECTED!",Toast.LENGTH_LONG).show();
更正后,请确保您使用的是 android.widget.Toast
。