Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.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_If Statement_Breakpoints - Fatal编程技术网

Android &引用;如有其他",;语句在步骤调试中进入错误的部分

Android &引用;如有其他",;语句在步骤调试中进入错误的部分,android,if-statement,breakpoints,Android,If Statement,Breakpoints,希望是一个简单的答案,但我有点困惑。我希望代码会出现在下面的第一个if部分,但它总是出现在else部分 当我到达断点上的行>>if(url2!=null&&!url2.isEmpty()) 在“表达式”窗口中: url2是“?/wp content/uploads/2011/01/toonieJune10_091-640x334.jpg” url2=null为真 !url2.isEmpty()为true 然而,在调试时,它似乎总是命中else,即使这两个条件都是真的。我怀疑有什么东西与我的构

希望是一个简单的答案,但我有点困惑。我希望代码会出现在下面的第一个
if
部分,但它总是出现在
else
部分

当我到达断点上的行>>
if(url2!=null&&!url2.isEmpty())
在“表达式”窗口中:

  • url2
    是“?/wp content/uploads/2011/01/toonieJune10_091-640x334.jpg”
  • url2=null
    为真
  • !url2.isEmpty()
    为true
然而,在调试时,它似乎总是命中else,即使这两个条件都是真的。我怀疑有什么东西与我的构建代码不同步,因为调试过程中出现了不一致的情况

我尝试过清理代码,在类中做一些更改,重新编译等等

非常感谢您的帮助!谢谢


试试像

        public String getImageBannerUrl()
        {
            if ((!getPhotoFile1().isEmpty()) && (!getPhotoFile1().matches(" "))) return getPhotoFile1().getUrl();
            String url2 = getRemoteImageUrl();
            if ((!url2.isEmpty()) && (!url2.matches(" ")))
            {
                return url2;
            }
            else
            {
                //Otherwise get default image based on category
                return getImageCategoryUrl();
            }

        }

注意:这里getPhotoFile1()必须返回字符串值。

在if-else语句检查url2值之前,我认为您没有通过getRemoteImageUrl()Add
Log.i(“SOMETAG”,“url2=“+url2”)方法获得值;“
在第二个
if block
之前,检查LogCat。当您退出该方法时,返回值是多少?我认为条件有效,但调试器跳到方法帧的末尾(最后一个
}
)当点击
return
时,您会感到困惑。感谢您的反馈-Log.i()中的所有内容实际上看起来都是正确的,所以调试一定是疯了。单步执行代码会点击最后一个“return”行。日志。我不是这么说的。我不确定是什么导致调试器这样做的。
        public String getImageBannerUrl()
        {
            if ((!getPhotoFile1().isEmpty()) && (!getPhotoFile1().matches(" "))) return getPhotoFile1().getUrl();
            String url2 = getRemoteImageUrl();
            if ((!url2.isEmpty()) && (!url2.matches(" ")))
            {
                return url2;
            }
            else
            {
                //Otherwise get default image based on category
                return getImageCategoryUrl();
            }

        }