2016-07-19 2 views
1

나는 RecyclerView를 사용하고 있습니다. Recycler 아이템은 MvvmCross를 사용하여 데이터 바인딩됩니다. 각 데이터 바인딩 된 객체는 Picasso 이미지 라이브러리를 사용하여로드하려는 imageurl을 포함합니다. 내 첫 번째 아이디어는 ValueConverter 내에서 Picasso를 호출하는 것이 었습니다. Picasso를 사용하려면 콘텍스트 객체가 필요하며 databound 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)" /> 

그것은 아마도 피카소 로딩 비동기를 처리 할 가장 좋은 것입니다하지만, 난 여전히 항목 이미지 뷰에 액세스해야합니다.

답변

관련 문제