通用图像加载器 DisplayImage 不显示图像?

Universal Imageloader DisplayImage not showing image?

我正在 Visual Studio 中的一个 Xamarin Android 项目上工作,我试图为 listView 中的每个对象显示一张图片,但它们没有显示出来。当我调试它时,它正在获取对象的所有其他详细信息,图像路径除外,并显示为 null

目前我在项目文件夹中的 images 文件夹中有图片。我列出了这样的路径

string imageUri = @"C:\Users\aanwar\Documents\Visual Studio 2017\Projects\ContosoLibrary\ContosoLibrary\images";

而且好像找不到图片的位置。我应该将图片放在 drawable 文件夹而不是 C:\ 驱动器吗?

class BookListAdapter : BaseAdapter<BookDetailDTO>
{   
    Activity context;
    ImageLoader imageLoader = ImageLoader.Instance;
    string imageUri = "C:/Users/aanwar/Documents/Visual Studio 2017/Projects/ContosoLibrary/ContosoLibrary/images";

    public BookListAdapter(List<BookDetailDTO> bookList, Activity context) : base()
    {
        this.context = context;
        imageLoader.Init(ImageLoaderConfiguration.CreateDefault(context));
    }

    public override View GetView(int position, View convertView, ViewGroup parent)
    {
        var item = items[position];

        if (convertView == null)
            convertView = context.LayoutInflater.Inflate(Resource.Layout.BookRowView, null);

        convertView.FindViewById<TextView>(Resource.Id.bookNameTextView).Text = item.Title;
        convertView.FindViewById<TextView>(Resource.Id.priceTextView).Text = "$ " + item.Price;

        imageLoader.DisplayImage(imageUri + item.ImagePath + ".jpg",
            convertView.FindViewById<ImageView>(Resource.Id.bookImageView));

        return convertView;
    }

有人可以帮助我解决这个问题吗?

And it seems to not find the location of the pictures. Should I place the pictures in the drawable folder instead of in the C:\ drive?

当 运行 您的应用在 device/emulator 上时,该应用将无法访问您的本地文件夹,例如 C:\XXX

加载图片的正确方法是将图片放入Resource\drawable文件夹,并将其属性设置为AndroidResource(通过设置此VS将构建图片到最后apk个文件):

然后使用 ResourceId 将其设置为 ImageView 资源:

ImageView mImageView = FindViewById<ImageView>(Resource.Id.mImageView);
mImageView.SetImageResource(Resource.Drawable.tianyuan);