Facebook SDK を使用して Android 用のアプリを作成しています。これまでのところ、アプリは特定のページ フィードをスキャンし、すべての投稿を GridView に入れています。その現在の位置の imageArray の値が空または null (写真のない投稿) の場合、代わりに ImageView の可視性を GONE に設定し、TextView がアイテム全体を占めるようにします。これが私のコードです:
public View getView(int 位置、View v、ViewGroup 親) {
MainListHolder mHolder;
if (v == null) {
mHolder = new MainListHolder();
v = inflator.inflate(R.layout.list_item, null);
mHolder.img1 = (ImageView) v.findViewById(R.id.preview);
mHolder.txt2 = (TextView) v.findViewById(R.id.message);
mHolder.txt3 = (TextView) v.findViewById(R.id.user_name);
mHolder.txt4 = (TextView) v.findViewById(R.id.user_id);
v.setTag(mHolder);
} else {
mHolder = (MainListHolder) v.getTag();
}
if (!imageArray.get(position).isEmpty()) {
manager.DisplayImage(imageArray.get(position), loader, mHolder.img1);
}
else {
manager.DisplayImage(null, loader, mHolder.img1);
mHolder.img1.setVisibility(ImageView.GONE);
}
mHolder.txt2.setText(messageArray.get(position));
mHolder.txt3.setText(nameArray.get(position));
mHolder.txt4.setText(idArray.get(position));
return v;
}
問題は、スクロール中に GridView の項目が変更されることです。アイテムに画像が含まれていても、ImageView は表示されなくなります。これを修正するにはどうすればよいですか?