0

我正在开发一个 Android 3.1 平板电脑应用程序。

我需要加载并显示一些存储在本地磁盘中的图像。知道 UI 在图像加载并显示在画廊时冻结,我想知道是否有另一种显示 ui 的方式,当显示 ui 时,显示 aProgressDialog然后开始从磁盘加载并显示每个图像。

我知道如何开始,Asyntask但是在显示 ui 后我不知道如何做某事。

我穿上task.execute()OnCreateOnResume我看到 UI 冻结。

显示 UI 后如何执行任务?

如果您需要查看代码,请检查Gallery images still load very slowClassCastException: AbsListView$LayoutParams cannot be cast to Gallery$LayoutParams问题。

4

1 回答 1

0

首先,您应该有一个带有画廊(或您决定使用的任何东西)和画廊适配器的 Activity。在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;

}

这个返回的位图可以用来设置 imageView 的源getView()。如果您有问题,请告诉我!

于 2012-10-25T07:50:13.440 回答