为什么Glide只能处理原始字符串url数据? (Android Studio)

问题描述 投票:0回答:1

我可以成功使用带滑动的字符串url来获取我想要的图像:

glideVariable!!.loadImageUrl("https://firebasestorage.googleapis.com/v0/b/healthandchocolate-46f3d.appspot.com/o/cookies%2FcookiesImg1.jpg?alt=media&token=63721d7d-207e-441c-9387-14dced13d3c8")

但是当我尝试使用存储在变量中的相同URL时,图像不会加载:

glideVariable!!.loadImageUrl(recipeArray[1].recipeImage.toString())

我在Log.d上做了一个recipeArray[1].recipeImage.toString(),它确实包含了与我的第一个例子相同的url,使用原始字符串数据。

我使用了escape命令将变量封装在引号中,如下所示:

glideVariable!!.loadImageUrl("${recipeArray[1].recipeImage.toString()}")

但它仍然无效。我也尝试把它作为URLURI,但仍然没有。有任何想法吗?滑行只能使用原始字符串数据吗?

更新我注意到recipeArray[1].recipeImage包含keyvalue。也许这就是问题所在。它不直接访问url字符串。如何确保只使用字符串值?它看起来像这样:

DataSnapshot { key = recipeImageFirebase, value = https://firebasestorage.googleapis.com/v0/b/healthandchocolate-46f3d.appspot.com/o/cookies%2FcookiesImg1.jpg?alt=media&token=63721d7d-207e-441c-9387-14dced13d3c8 }
android string url kotlin android-glide
1个回答
0
投票

好的,现在就搞定了。 recipeArray[1].recipeImage.toString()是一个包含密钥和字符串的数据快照。当我存储变量时,我回去了:

val image = item.child("recipeImageFirebase")

tempRecipe.recipeImage = image.toString()

并将最后一部分改为

tempRecipe.recipeImage = image.value.toString()

现在它只包含字符串值,而不是键“recipeImageFirebase”!

© www.soinside.com 2019 - 2024. All rights reserved.