2016-07-19 62 views
1

我正在使用RecyclerView和Recycler项目是使用MvvmCross的数据绑定。每个数据绑定对象都包含imageurl,我尝试使用Picasso图像库加载。我的第一个想法是在ValueConverter中调用毕加索。要使用毕加索,我需要上下文对象,我不确定是否可以将数据绑定ImageView作为参数传递给转换器。下面是代码...处理图像缓存的正确方法毕加索与MvvmCross

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片段

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

它可能是最好的处理毕加索异步加载,但我仍然需要访问该项目ImageView的。

回答