ギャラリーウィジェットの経験はありませんが、画像付きのListViewをたくさん使用しています。あなたの問題とグーグルの問題へのリンクによると、彼らはまだこの問題を修正していません。
そのため、キャッシュ/ ajaxの問題などを解決する、優れたライブラリ(およびその中の例)を備えたsolutioがあります。
ライブラリへのリンク
または、より具体的には、画像の例へのリンク
それらの例をダウンロードすると、AQueryユーティリティクラスを使用して、Galleryウィジェットでギャラリーを実装した方法がわかります。
com.androidquery.test.image.ImageLoadingGalleryActivityクラス。
コードからのスニペット:
final List<Photo> entries;// here only to show what enteries are...
listAq = new AQuery(this); //define as Action class member, here only to show what it is
ArrayAdapter<Photo> aa = new ArrayAdapter<Photo>(this, R.layout.gallery_item, entries){
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
convertView = getLayoutInflater().inflate(R.layout.gallery_item, parent, false);
}
Photo photo = getItem(position);
AQuery aq = listAq.recycle(convertView);
aq.id(R.id.name).text(photo.title);
String tbUrl = photo.tb;
if(!aq.shouldDelay(position, convertView, parent, tbUrl)){
aq.id(R.id.tb).image(tbUrl);
aq.id(R.id.text).text(photo.title).gone();
}else{
aq.id(R.id.tb).clear();
aq.id(R.id.text).text(photo.title).visible();
}
return convertView;
}
};
aq.id(R.id.gallery).adapter(aa);
Photoが単なるPOJOオブジェクト(リモートから取得)の場合:
class Photo {
String tb;
String url;
String title;
String author;
}
R.id.galleryを指します
<Gallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="200dip" />
そしてR.layout.gallery_item参照します:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="100dip"
android:layout_height="75dip" >
<ProgressBar
android:id="@+id/progress"
android:layout_width="15dip"
android:layout_height="15dip"
android:layout_centerInParent="true" />
<ImageView
android:id="@+id/tb"
style="@style/GalleryItem"
android:layout_width="100dip"
android:layout_height="75dip" />
<TextView
android:id="@+id/text"
android:layout_width="100dip"
android:layout_height="75dip"
android:gravity="center"
android:maxLines="4"
android:padding="15dip"
android:text="Dummy TextDummy TextDummy TextDummy TextDummy Text"
android:textColor="#FFFFFFFF"
android:textSize="8sp" />
</RelativeLayout>
このライブラリが問題の解決に役立つことを願っています。