1

すべてがこのコードにあるグリッド ビュー アダプターがあります。

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    View v = convertView; 
    CheckBox check = null;
    ImageView pic = null;

    if (convertView == null) { // if it's not recycled, initialize some
                                // attributes
    LayoutInflater vi = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.check_box_and_imageview, null);
     } 

    pic = (ImageView)v.findViewById(R.id.imageView);
    check = (CheckBox) v.findViewById(R.id.checkBox);
    check.setTag(position);

    ImageLoader loader = new ImageLoader(mContext);

    //this loads image from given url
    loader.DisplayImage(url[position], pic);
    return v;



}

ここでは、チェック ボックスとイメージ ビューを含むビューを作成します。画像ビューはサイズが異なり、グリッドビューはサイズチェックボックスと画像ビューの両方で位置合わせを行うため、問題があります。しかし、チェックボックスで要素を並べ替えたいです。

より良い説明のために、私がやりたいことはこの写真を表示します:

ここに画像の説明を入力

これはやりたい。私の画像ビューはすべて同じサイズではありません。次に、それがどのように見えるかを説明します。

ここに画像の説明を入力

だからこれは私には合いません。すべてのチェックボックスとイメージビューではなく、整列させたい。しかし、そのチェックボックスだけがチェックボックスの下になります。

では、これはグリッドビューで行うことはできませんか?

4

1 に答える 1

0
  • convertView が null かどうかを確認します。
  • null の場合は、この GridView の要素の新しいビューを拡張するときです。また、ホルダー パターンを使用して、(毎回 findViewById で検索する代わりに) 構成ビューを探してキャッシュすることもできます (膨張したビューに setTag 要素を使用しますが、それは Node データ要素からのデータの一部です ?!? 何を計画しますか?それに関係あるの?!?)
于 2012-05-28T06:21:11.717 に答える