gpt4 book ai didi

android - 处理图像缓存的正确方法,例如毕加索与 MvvmCross

转载 作者:行者123 更新时间:2023-11-30 01:10:24 25 4
gpt4 key购买 nike

我正在使用 RecyclerView 并且 Recycler 项目使用 MvvmCross 进行数据绑定(bind)。每个数据绑定(bind)对象都包含我尝试使用 Picasso 加载的 imageurl图片库。我的第一个想法是在 ValueConverter 中调用 Picasso。要使用 Picasso,我需要上下文对象,我不确定是否可以将数据绑定(bind) ImageView 作为参数传递给转换器。这是代码...

public class MyImageConverter : IMvxValueConverter
{
protected override object Convert(object value, object parameter)
{
var imageUrl = (string)value;
// How to optain context or direct access to imageView?
var imageView = new ImageView(context);
Picasso.With(context).Load(imageUrl).Into(imageView);
var bitmap = ((BitmapDrawable)imageView.Drawable).Bitmap;
return bitmap;
}
}

还有axml fragment

<ImageView android:id="@+id/myImageView"
app:MvxBind="Bitmap MyImageConverter(ImageUrl)" />

最好处理 Picasso 异步加载,但我仍然需要访问项目 ImageView。

最佳答案

您应该创建自定义目标绑定(bind)。

例如:mvvmcross videoview URL binding

自从我写了上一个答案以来,事情已经发生了变化,所以这里是当前 Android 绑定(bind)的链接。

https://github.com/MvvmCross/MvvmCross/blob/4.0/MvvmCross/Binding/Droid/MvxAndroidBindingBuilder.cs

关于android - 处理图像缓存的正确方法,例如毕加索与 MvvmCross,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38463548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com