Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何检测字符串是否等于某个值?_Android_String - Fatal编程技术网

Android 如何检测字符串是否等于某个值?

Android 如何检测字符串是否等于某个值?,android,string,Android,String,如何检测我的字符串文本是否不等于null?我试过这个,但不起作用。它总是执行其余的代码并显示对话框- if (!text.equals("null")) { AlertDialog alertDialog = new AlertDialog.Builder(this) .setTitle("BROADCAST").setMessage(text).create(); alertDialog.getWindow().setType(

如何检测我的字符串文本是否不等于null?我试过这个,但不起作用。它总是执行其余的代码并显示对话框-

if (!text.equals("null")) {
        AlertDialog alertDialog = new AlertDialog.Builder(this)
                .setTitle("BROADCAST").setMessage(text).create();
        alertDialog.getWindow().setType(
                WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
        alertDialog.show();
    } else {
        // don't show
    }
PS:我不想检查我的字符串是否为空。我说的是NULL,它是存储在我的字符串中的文本,您可以使用:

if(text != null) {
    AlertDialog alertDialog = new AlertDialog.Builder(this)
            .setTitle("BROADCAST").setMessage(text).create();
    alertDialog.getWindow().setType(
            WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
    alertDialog.show();
}
或检查空字符串:

if(!text.equals("") {
    AlertDialog alertDialog = new AlertDialog.Builder(this)
            .setTitle("BROADCAST").setMessage(text).create();
    alertDialog.getWindow().setType(
            WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
    alertDialog.show();
}
或两者兼而有之:

if(text != null && !text.equals("") {
    AlertDialog alertDialog = new AlertDialog.Builder(this)
            .setTitle("BROADCAST").setMessage(text).create();
    alertDialog.getWindow().setType(
            WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
    alertDialog.show();
}
编辑:如果您试图检查字符串是否等于单词null,那么您的原始代码看起来很好。我建议使用调试器或打印一些日志语句来检查发生了什么

因此:


但实际上,这只是测试你没有犯错误。此外,我建议不要使用null来表示空字符串。这可能会让其他查看代码的人感到困惑。请坚持使用更标准的字符串。

按原样,您的代码当前正在检查字符串是否等于空字符串。如果要查看字符串对象本身是否为null或不存在,请考虑:

if (text != null) {
    AlertDialog alertDialog = new AlertDialog.Builder(this)
            .setTitle("BROADCAST").setMessage(text).create();
    alertDialog.getWindow().setType(
            WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
    alertDialog.show();
} else {
    // don't show
}

if语句的可能重复项是检查文本是否等于字符串null。如果要检查String对象是否为null,请查看@MichaelVescovo的第一个示例。是否要检查文本是否为空或字符串是否为null?你的代码对以后的情况似乎是正确的。你懂礼貌吗?当我发布链接时,PS不在那里,其他人也认为你的意思是其他的,包括根据同样的东西写了完整答案的人。如果你说字符串为空,那就更清楚了,所以我们知道这不仅仅是初学者的错误。在这里请有礼貌。如果你做不到这一点,可以去其他地方寻求免费帮助来解决你的问题。不要怪我,因为一个有1个代表和上下文之外代码的用户似乎犯了一个新手错误。写出更清晰的问题。使用.equalstext,这样零可能性就不会影响你了。编辑:无需担心。你改了,那不会编译的。如果文本是字符串,则无法执行此操作,因为文本是一个字符串,并且需要为保护设置一个布尔值@MichaelVescovo用iftext回答=无效。@Fodder谢谢!我最近一直在用Python编程。我不确定它是否可以用Java编译。我已经编辑了我的答案。@Arcaeic检查我答案中的粗体文本question@joey在这种情况下,您提供的代码应该可以工作。我们首先不知道文本是如何被赋值为null的,这使得您很难解决问题。在进入if语句之前,请执行System.out.printlntext;并检查文本的值是否符合您的要求。我将与toast一起尝试
if (text != null) {
    AlertDialog alertDialog = new AlertDialog.Builder(this)
            .setTitle("BROADCAST").setMessage(text).create();
    alertDialog.getWindow().setType(
            WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
    alertDialog.show();
} else {
    // don't show
}