0

Android 3.1 タブレット アプリケーションを開発しています。

ローカル ディスクに保存されているいくつかの画像を読み込んで表示する必要があります。画像の読み込み中に UI がフリーズし、ギャラリーに表示されることを知っています。UI を表示する別の方法があるかどうか疑問に思っています。UI が表示されたら、ProgressDialogディスクから読み込みを開始し、すべての画像を表示します。

開始方法Asyntaskは知っていますが、UI が表示された後に何かを行う方法がわかりません。

何度も何度もUIがフリーズtask.execute()します。OnCreateOnResume

UI が表示された後にタスクを実行するにはどうすればよいですか?

コードを確認する必要がある場合は、Gallery images still load very slowClassCastException: AbsListView$LayoutParams cannot be cast to Gallery$LayoutParams の質問を確認してください。

4

1 に答える 1

0

最初に、Gallery (または使用するもの) と Gallery Adapter を含む 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 に答える