1

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 は表示されなくなります。これを修正するにはどうすればよいですか?

4

1 に答える 1