首页 > 解决方案 > 使用毕加索将类加载到 val

问题描述

我想从一个类中加载一个字符串来用毕加索加载它

val pic = String
    Picasso.get().load(User1::profileImageUrl).into(pic)

但是“负载”下面有一条红线,它不起作用。在这里你可以看到我的课

    class User1(val uid: String, val username: String, val profileImageUrl: String)

所以稍后我想像这样使用该字符串进行滑行

Glide.with(applicationContext).load(personPhotoUrl)
                    .thumbnail(0.3f)
                    .apply(RequestOptions.circleCropTransform())
                    .into(profilepicture!!)

有任何想法吗?

标签: androidkotlinpicasso

解决方案


我不熟悉毕加索,但从 javadoc 加载方法需要字符串、Uri、文件或资源 ID。您在属性上传递某种反射引用(如果这种构造完全有意义的话)。

如果你想创建一次图片,你应该使用一个用户实例:

val user : User1 = getUserSomewhere()
Picasso.get().load(user1.profileImageUrl).into(pic)

或者你可以制作一个方法:

fun loadUserProfileImage(user: User1, target: ImageView) {
    Picasso.get().load(user1.profileImageUrl).into(target)
}

同样在红线下方告诉你有一个错误,它有一个错误的消息。)

这也是:val pic = String不正确,至少在你的情况下。这里的图片是类型StringCompanionObject


推荐阅读