我想将文件夹中SDCARD上的图像加载到listView中我单元格的imageView。我尝试了不同的解决方案,但每个解决方案都失败了。当我在每个基础教程中正常加载图像时,一切正常。我观察到,当我的应用程序必须加载许多图像时,它的速度会变慢。图像来自设备的照相机。我想异步加载它们以避免UI缓慢反应。我尝试使用Thread,Asynctask,但每个都抛出错误:"只有创建视图层次结构的oryginal线程才能触及其视图"。如何加载图像以避免速度问题? SDImageLoader是一个可以从GITHUB获得的类。我尝试过的是标准代码,但速度很慢:
在ListAdapter的getView方法中:
File imageFile = new File(Options.PATH_TO_FOLDER_PHOTOS_OF_APP + "test.png");
String imageFileString = Options.PATH_TO_FOLDER_PHOTOS_OF_APP + "test.png";
// "test.png" is a test file. Each cell will have different name of file to load.
if(imageFile.exists())
{
Bitmap myBitmap = BitmapFactory.decodeFile(imageFile.getAbsolutePath());
image.setImageBitmap(myBitmap);
// final SDImageLoader loader = new SDImageLoader(context);
// new SDImageLoader().load(imageFileString, image);
//UrlImageViewHelper.setUrlDrawable(image, url);
}
else
{
final SDImageLoader loader = new SDImageLoader();
Resources resources = context.getResources();
int resurceId;
resurceId = resources.getIdentifier("bad", "drawable",context.getPackageName());
loader.load(imageFileString, image);
image.setImageResource(resurceId);
}
答案 0 :(得分:0)
您是否在向项目添加外部库后尝试刷新项目?这与片段无关。您将精确的上下文发送到列表适配器 - 它应该是fragment.this.getActivity()。