Java 在android studio中检索if/else子句的字符串
我正在尝试使用二维码扫描仪,它应该根据扫描的码重定向到不同的活动,但我很难从结果中获得正确形式的字符串Java 在android studio中检索if/else子句的字符串,java,android,string,if-statement,Java,Android,String,If Statement,我正在尝试使用二维码扫描仪,它应该根据扫描的码重定向到不同的活动,但我很难从结果中获得正确形式的字符串 @Override public void handleResult(Result result) { Log.w("handleResult", result.getText()); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Scan results
@Override
public void handleResult(Result result) {
Log.w("handleResult", result.getText());
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Scan results");
builder.setMessage(result.getText());
AlertDialog alertDialog = builder.create();
alertDialog.show();
String id_helper = result.getText().toString();
if (id_helper == "1") {
startActivity(new Intent(this, Sample1.class));
} else if (id_helper == "2") {
startActivity(new Intent(this, Sample2.class));
} else {
startActivity(new Intent(this, Sample3.class));
}
您以错误的方式比较字符串,在Java中,您必须使用equals方法比较字符串
始终将已知变量as放在条件的左侧,以避免出现NullPoinerException。您以错误的方式比较字符串,在Java中,您必须使用equals方法比较字符串
始终将已知变量as放在条件的左侧,以避免出现NullPoinerException。将if语句更改为如下:
if ("1".equals(id_helper)) {
startActivity(new Intent(this, Sample1.class));
} else if ("2".equals(id_helper)) {
startActivity(new Intent(this, Sample2.class));
} else {
startActivity(new Intent(this, Sample3.class));
}
将if语句更改为如下所示:
if ("1".equals(id_helper)) {
startActivity(new Intent(this, Sample1.class));
} else if ("2".equals(id_helper)) {
startActivity(new Intent(this, Sample2.class));
} else {
startActivity(new Intent(this, Sample3.class));
}
我最好的猜测是您正在执行无效的字符串检查
if (id_helper == "1") {
startActivity(new Intent(this, Sample1.class));
} else if (id_helper == "2") {
startActivity(new Intent(this, Sample2.class));
} else {
startActivity(new Intent(this, Sample3.class));
}
您的代码使用==而不是myString.contentEquals2或myString.equals2或myString.equalsIgnoreCase2我最好的猜测是您正在执行无效的字符串检查
if (id_helper == "1") {
startActivity(new Intent(this, Sample1.class));
} else if (id_helper == "2") {
startActivity(new Intent(this, Sample2.class));
} else {
startActivity(new Intent(this, Sample3.class));
}
您的代码使用==而不是myString.contentEquals2或myString.equals2或myString.equalsIgnoreCase2如果我很好地理解了您的要求,那么您希望将QR代码传递给其他类Sample1、Sample2和Sample3?您是否获得了正确的id\u helper值?我希望根据QR代码重定向到特定类,我不需要将二维码本身传递给activities@Alpha这可能是一个问题,我对android/intellij相当陌生,不知道如何检查,我的qr码生成了字符串1,但活动Sample3还是启动了,因此可能存在问题,请记住java无法通过==或>等检查非基本类型。如果我很好地理解了您的要求,那么您希望将qr码传递给其他类Sample1,Sample2和Sample3?您是否获得了正确的id_helper值?我希望根据二维码的内容重定向到某个类,我不需要将二维码本身传递给activities@Alpha这可能是一个问题,我对android/intellij相当陌生,不知道如何检查,我用qr码生成了字符串1,但活动Sample3还是启动了,因此可能存在问题,请记住java无法通过==或>等检查非基本类型。ohh好,太少太晚了:Dohh好,太少太晚了:D