通用图像加载器 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);
我正在 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);