Kotlin if 语句即使在 false 时也会执行

Tas*_*key 5 android if-statement imageview kotlin

我正在尝试检查配置文件是否设置了图像 URL,如果是,则将其加载到ImageView

val hasImage = image != null && image.isNotBlank()

if (hasImage) {
    Picasso.with(context).load(image).into(row.image)
}
Run Code Online (Sandbox Code Playgroud)

image是一个可为空的字符串。问题是,即使hasImage为 false,它仍然加载图像,如您所见:

为什么YYYY

但是,如果我这样做,val hasImage = false它会按预期运行。

我对这里发生的事情感到非常困惑。为什么if条件还在执行?

s1m*_*nw1 4

可能有\xe2\x80\x99s编译问题。屏幕截图显示了一个不可能的场景。您从哪里启动该应用程序?尝试重建然后再次调试。还尝试添加一些日志。

\n\n

它\xe2\x80\x99s 不是由于您选择检查布尔表达式的方式...

\n