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

标签 java android string if-statement

我正在尝试让二维码扫描仪根据扫描的代码重定向到不同的 Activity ,但我无法以正确的形式从结果中获取字符串。

  @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 方法来比较字符串。

if ("1".equals(id_helper)) {
    // Open activity
}

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

关于java - 在android studio中检索if/else子句的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42526495/

相关文章:

java - Listview 长按要删除的项目时出错

java - 从 Android 联系人列表中的联系人获取家庭位置?

控制台中的 Python\xYZ 字符

swift - 快速从 NSMutableString 获取字符串

c# - C# (.NET) 中的 string.Length 是即时变量吗?

java - 此 NavController 不知道导航 [destination_name]

java - spring-boot-starter-integration 1.4.3 性能下降

java - 选择中位数作为枢轴

android - ALT + 插入在 Android Studio 中不起作用

java - 在 Android 上,SQLiteDatabase.Insert() 或 SQLiteDatabase.execSQL() 哪个更快?