0

我正在尝试从手机加载图像。与毕加索相同的方法工作正常,但我在使用 FFImageloading 时遇到问题

var CatalogCategories = System.IO.Path.Combine(Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryPictures).ToString(), "dbsoft");
ImageService.Instance.LoadFile(new Java.IO.File(CatalogCategories, "Main.jpg")).Into(MainImage);

我收到错误 CS1503 Argument 1: cannot convert from 'Java.IO.File' to 'string'

4

1 回答 1

0

LoadFile方法的参数应该是string.

/// <summary>
/// Constructs a new TaskParameter to load an image from a file.
/// </summary>
/// <returns>The new TaskParameter.</returns>
/// <param name="filepath">Path to the file.</param>
TaskParameter LoadFile(string filepath);

您需要使用 File 的AbsolutePath属性来获取字符串路径:

ImageService.Instance.LoadFile(new Java.IO.File(CatalogCategories, "Main.jpg").AbsolutePath).Into(MainImage);

更新

Into方法的参数应该是ImageViewAsync,所以你应该ImageViewAsync在你的布局中使用:

<FFImageLoading.Views.ImageViewAsync
    android:id="@+id/mainImage"
    android:scaleType="centerCrop"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

在您的 .cs 文件中:

ImageViewAsync MainImage = FindViewById<ImageViewAsync>(Resource.Id.mainImage);
于 2018-04-23T09:38:02.977 回答