如何从外部存储获取图像

时间:2013-03-08 09:59:47

标签: android bitmap xamarin.android android-sdcard

我在Items中创建了一个名为/mnt/sdcard/的文件夹,我想在其中找到JPG张图片。然后我想显示一个ListView,其中包含所列图像的所有名称。单击列表中的某个名称后,我希望路径中的图像显示在ImageView中。我很难找到图像。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

外部存储路径因设备而异,我强烈建议您不要使用/mnt/sdcard/,而是使用Environment.ExternalStorageDirectory

您应该能够使用普通的C#文件操作来获取文件列表。

string[] filePaths = Directory.GetFiles(Environment.ExternalStorageDirectory, "*.jpg");

如果要在Adapter内显示Bitmap,可以使用filePaths传递到自定义ListView,并在其中加载using(var bitmap = BitmapFactory.DecodeFile(filePaths[position])) imageView.SetImageBitmap(bitmap);

SimpleAdapter

或者您只需使用filePaths并将其传递给ItemClick,然后将其显示为字符串。

然后,您只需要连接Bitmap事件,即可点击列表中的位置,并将正确的{{1}}加载到ImageView中。

如果您使用大型图片,请阅读http://docs.xamarin.com/recipes/android/resources/general/load_large_bitmaps_efficiently,因为您的资源非常有限。

自定义列表适配器的良好资源:http://redth.info/2010/10/12/monodroid-custom-listadapter-for-your-listview/