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

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

if (hasImage) {
    Picasso.with(context).load(image).into(row.image)
}
image是可为空的字符串。问题是,即使hasImage为false,它仍然会加载图像,如您所见:

android - Kotlin if语句即使在为false时也会执行-LMLPHP

但是,如果我执行val hasImage = false,它的行为将与预期的一样。

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

最佳答案

可能是编译问题。屏幕截图显示了不可能的情况。您在哪里启动该应用程序?尝试重建,然后再次调试。也尝试添加一些日志。

这不是由于您选择检查 bool(boolean) 表达式的方式而引起的...

08-07 03:25