Ich benutze einen RecyclerView und die Recycler-Elemente sind mit MvvmCross datengebunden. Jedes datengebundene Objekt enthält Bilddateien, die ich unter Verwendung der Picasso Bildbibliothek laden möchte. Meine erste Idee war, Picasso innerhalb eines ValueConverters zu nennen. Um Picasso zu verwenden, brauche ich das Kontextobjekt und bin mir nicht sicher, ob es möglich ist, das datengebundene ImageView als Parameter an den Konverter zu übergeben. Hier ist der Code ...Richtiger Umgang mit Bild-Caching z.B. Picasso mit 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;
}
}
Und das axml Fragment
<ImageView android:id="@+id/myImageView"
app:MvxBind="Bitmap MyImageConverter(ImageUrl)" />
Es wäre wahrscheinlich am besten, die Picasso Laden async zu handhaben, aber ich würde immer noch das Element Image zugreifen müssen.
Vielen Dank, ich werde das versuchen ... – doorman