Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.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
Java ZXing扫描结果if语句_Java_Android_If Statement_Zxing - Fatal编程技术网

Java ZXing扫描结果if语句

Java ZXing扫描结果if语句,java,android,if-statement,zxing,Java,Android,If Statement,Zxing,这是我关于堆栈*溢出*的第一个问题 我正在使用Eclipse和Android开发工具。我从中复制了代码,以便使用条形码扫描仪扫描二维码(我相信你们中的许多人以前都见过此代码): 我能够启动条形码扫描仪,它会在onActivityResult()方法中返回结果 public void onActivityResult(int requestCode, int resultCode, Intent intent) { if (requestCode == 0)

这是我关于堆栈*溢出*的第一个问题

我正在使用Eclipse和Android开发工具。我从中复制了代码,以便使用条形码扫描仪扫描二维码(我相信你们中的许多人以前都见过此代码):

我能够启动条形码扫描仪,它会在
onActivityResult()方法中返回结果

public void onActivityResult(int requestCode, int resultCode, Intent intent)
    {
        if (requestCode == 0)
        {
            if (resultCode == RESULT_OK)
            {
                contents = intent.getStringExtra("SCAN_RESULT");
                format = intent.getStringExtra("SCAN_RESULT_FORMAT");

                // Handle successful scan
                if(contents == "1") 
                {
                    contentsLat = contents;
                }
                else if(contents == "0")
                {
                    contentsRow = contents;
                }
                else
                {
                    Toast.makeText(getApplicationContext(), "Code Not Recognized\n"+contents+"\n1", Toast.LENGTH_LONG).show();
                }
            }
            else if (resultCode == RESULT_CANCELED)
            {
                // Handle cancel
                Toast.makeText(getApplicationContext(), "Unsuccessful Scan", Toast.LENGTH_SHORT).show();
            }
        }
    }
但是,
else
语句总是被执行……除非我明确地将
内容
等同于
1
。下面是一个链接,指向正在执行的
else
主体的屏幕截图(我还没有嵌入图像的权限),并且吐司清楚地表明
contents=1
。我做错了什么?我错过什么了吗

谢谢大家。

欢迎光临

我已经看到这是新Java程序员中非常常见的问题:),对于字符串比较,我们必须使用
equals()
方法

public void onActivityResult(int requestCode, int resultCode, Intent intent)
    {
        if (requestCode == 0)
        {
            if (resultCode == RESULT_OK)
            {
                contents = intent.getStringExtra("SCAN_RESULT");
                format = intent.getStringExtra("SCAN_RESULT_FORMAT");

                // Handle successful scan
                if(contents == "1") 
                {
                    contentsLat = contents;
                }
                else if(contents == "0")
                {
                    contentsRow = contents;
                }
                else
                {
                    Toast.makeText(getApplicationContext(), "Code Not Recognized\n"+contents+"\n1", Toast.LENGTH_LONG).show();
                }
            }
            else if (resultCode == RESULT_CANCELED)
            {
                // Handle cancel
                Toast.makeText(getApplicationContext(), "Unsuccessful Scan", Toast.LENGTH_SHORT).show();
            }
        }
    }
将代码更改为:

 // Handle successful scan
                if(contents.equals("1")){
                    contentsLat = contents;
                }
                else if(contents.equals("0")){
                    contentsRow = contents;
                }
更多信息:


比较字符串时,请始终使用.equals,因此请尝试使用if(contents.equals(“1”))谢谢Sean。这就是解决办法。我很感激。