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())
在“表达式”窗口中:
是“?/wp content/uploads/2011/01/toonieJune10_091-640x334.jpg”url2
为真url2=null
为true!url2.isEmpty()
试试像
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();
}
}