遅延読み込みに関するいくつかの投稿を確認しましたが、私の問題は少し異なっていると思います。
私はギャラリーを持っています(私のクラスはGalleryを拡張しています)。20個のかなり大きなサイズの画像(それぞれ400〜500K)を表示します。OutOfMemory例外が発生したため、それらすべてをギャラリーにロードできません。
そこで、20個のDrawableの配列を作成し、最初に最初の9個の要素(画像はWebから取得)にデータを入力し、残りはすべてnullに設定しました。私の意図はこれでした:右にフリングで、要素番号をフェッチします。10およびnull要素番号に設定します。0.右側のフェッチ要素番号への別のフリング。11そしてnull要素番号に設定します。1からnull。左フリングの同じロジック。
問題は、要素がフェッチされるよりもはるかに速く飛ぶことができるということです。私のギャラリーにはBaseAdapterがあり、そのgetView()は次のようになります。
public View getView(int position、View convertView、ViewGroup parent){ ImageView imageView = new ImageView(); imageView.setDrawable(imageArray [position]; ...。 ...。 imageViewを返します。 }
getView()を確認するにはどうすればよいですか?imageArray [position]がまだnullの場合は、「loading ...」ダイアログを表示し、設定したら同じ位置で繰り返しますか?
imageViewを空にして、その場で設定したくありません。設定するまでimageViewをまったく見られないようにしたい。
ありがとう。