2011-12-22 22 views
1

私はギャラリーのFedorの遅延ロードを使用して、URLを含む複数の写真を表示します。 コードFedorの怠惰な負荷の問題

class BitmapDisplayer implements Runnable { 

    Bitmap bitmap; 
    PhotoToLoad photoToLoad; 

    public BitmapDisplayer(Bitmap b, PhotoToLoad p) { 
     bitmap = b; 
     photoToLoad = p; 
    } 

    public void run() { 
     if (imageViewReused(photoToLoad)) { 
      System.out.println("imageViewReused"); 
      return; 
     } 
     // exist in memory cache or SD cache 
     if (bitmap != null) { 
      photoToLoad.imageView.setImageBitmap(bitmap); 
     } 
     // cache not exist and loading 
     else { 
      photoToLoad.imageView.setImageResource(R.drawable.load); 
      photoToLoad.imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); 
     } 
    } 
} 

キャッシュの天候をチェックしています。 そうでない場合は、ロードが完了していないことを示し、R.drawable.loadを表示します。 しかし、画像読み込みが終了しても、imageViewは画像を更新せず、引き続き描画可能なものを表示します。 読み込み中に更新するにはどのように変更する必要がありますか?

答えて

2

BaseAdapterまたはその子をギャラリーに使用する場合は、ビットマップを設定した後でnotifyDataSetChanged()に電話する必要があります。

関連する問題