在android studio中检索if/else子句的字符串

0 java string android if-statement

我正在尝试将qr代码扫描程序转到应该重定向到依赖于扫描代码的不同活动的位置,但是我无法从结果中以正确的形式获取字符串.

  @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));
    }
Run Code Online (Sandbox Code Playgroud)

Suj*_*han 5

您正在以错误的方式比较字符串,在Java中,您必须使用该equals方法比较字符串.

if ("1".equals(id_helper)) {
    // Open activity
}
Run Code Online (Sandbox Code Playgroud)

始终将已知变量放在条件的左侧以避免NullPoinerExceptions.