3

わかりました、私は徹底的に検索してきましたが、BaseAdapter の実装にいくつか問題があります。

上記の例のように、シンプルなカーソル アダプター http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List7.htmlを実装できました。

ここにかなり良い BaseAdapter の例があります: List14 google example

BaseAdapter を使用して独自の List Adapter を作成し、データベースから複数の項目を含む listView を表示したいと考えています。Simple Cursor Adapter を使用してこれを実行できることはわかっていますが、行を別の方法で処理したいと考えているため、getView をオーバーライドして各行を描画できるようにしたいと考えています。データはカーソルから取得されます。

このコードがカーソル データを取得するのに醜いことはわかっていますが、カーソルを設定したと仮定します。列 8 に画像リソース ID が含まれている場合、これについてどのような提案がありますか。:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    cursor.moveToPosition(position);
    ImageView i = new ImageView(mContext);
    i.setImageResource(cursor.getShort(8));
    i.setAdjustViewBounds(true);
    i.setLayoutParams(new AbsListView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

    return i;
}

カーソルを使用して描画される BaseAdapter の良い例はありますか?

4

1 に答える 1

4

それ自体notifyDataSetChanged()の中のメソッドから呼び出してみてください。BaseAdapter

例として、API デモのリスト 8 のメソッドを参照してください。

于 2011-03-31T10:43:54.650 に答える