Fresco 从 SD 卡加载图像

Fresco load image from sdcard

我正在使用壁画库,我正在尝试将 SD 卡中的图像读入图像视图。

 var CatalogCategories = System.IO.Path.Combine(Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryPictures).ToString(), "dbsoft");
                SimpleDraweeView draweeView = FindViewById<SimpleDraweeView>(Resource.Id.MainImageView);
                Android.Net.Uri imageUri = Android.Net.Uri.FromFile(new Java.IO.File(CatalogCategories, "Main.jpg"));// For files on device
                draweeView.SetImageURI(imageUri);

我收到错误无法将类型 androd.widget.imageview 的实例转换为类型 Com.Facebook.Drawee.View.SimpleDraweeView

如果我将 Imageview 更改为

 <com.facebook.drawee.view.SimpleDraweeView
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:id="@+id/MainImageView" />

然后我收到错误

Android.Views.InflateException:二进制 XML 文件行 #1:二进制 XML 文件行 #1:膨胀错误 class com.facebook.drawee.view.SimpleDraweeView ---> Android.Views.InflateException:二进制 XML 文件行 #1:膨胀 class com.facebook.drawee.view.SimpleDraweeView 时出错 ---> Java.Lang.Reflect.InvocationTargetException:抛出类型 'Java.Lang.Reflect.InvocationTargetException' 的异常。 ---> Java.Lang.NullPointerException: SimpleDraweeView 未初始化!

错误已经告诉您需要做什么:通过在您的应用程序中调用 Fresco.initialize(...) 来初始化 Fresco,例如

public class MyApplication extends Application {
  @Override
  public void onCreate() {
    super.onCreate();
    Fresco.initialize(this);
  }
}

更多信息:http://frescolib.org/docs/