我正在开发Android 3.1平板电脑应用程序。
我需要加载并显示一些存储在本地磁盘中的图像。知道UI在图像加载时被冻结并显示在图库上,我想知道是否有另一种方式来显示ui,当显示ui时,显示ProgressDialog
然后开始从磁盘加载并显示每个图像。 / p>
我知道怎么开始和Asyntask
但我不知道如何在ui展示后做点什么。
我将task.execute()
放在OnCreate
和OnResume
上,我看到用户界面冻结。
如何在显示用户界面后执行任务?
如果您需要查看代码,请查看Gallery images still load very slow和ClassCastException: AbsListView$LayoutParams cannot be cast to Gallery$LayoutParams个问题。
答案 0 :(得分:0)
首先,你应该在你的画廊(或你决定使用的任何东西)和画廊适配器上有一个活动。在适配器的getView()
中,您应该加载图片(getView()
是每个图库对象的图库)。
要加载,您应该有这样的方法:
public static Bitmap loadFromPath(String file_path) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inDither = false; // disable dithering
options.inScaled = false; // do not scale bitmap when loading; scale later
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap backgroundBitmap = null;
try {
backgroundBitmap = BitmapFactory.decodeFile(file_path, options);
} catch (OutOfMemoryError e) {
e.printStackTrace();
}
return backgroundBitmap;
}
这个返回的位图可用于在getView()
中设置imageView的源代码。
如果您有任何问题,请告诉我们!