1

Androidでアダプターを使用する最良の方法は何ですか?いくつかのカスタマイズされた操作に使用できます。アダプターを使用することにより、いくつかの事前実装されたメソッドが含まれます。これらの方法はいつ使用する必要がありますか?アダプタで実装されたメソッドを使用して、アプリのパフォーマンスをどのように改善できますか?

public int getCount() {
        // TODO Auto-generated method stub
        return country.length;
    }

    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }
}
4

3 に答える 3

2

このサンプル例とリンクを見てください

public class GridDemo extends Activity implements AdapterView.OnItemClickListener {
    private TextView selection;
    private static final String[] items={"lorem", "ipsum", "dolor", "sit", "amet", "consectetuer", "adipiscing", "elit", "morbi", "vel", "ligula", "vitae", "arcu", "aliquet", "mollis", "etiam", "vel", "erat", "placerat", "ante", "porttitor", "sodales", "pellentesque", "augue", "purus"};

    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        selection=(TextView)findViewById(R.id.selection);
        GridView g=(GridView) findViewById(R.id.grid);
        g.setAdapter(new ArrayAdapter<String>(this, R.layout.cell, items));
        g.setOnItemClickListener(this);
    }

    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        selection.setText(items[position]);
    }
}

このアダプタのアイデアを得ることができます。

于 2012-12-12T05:48:01.670 に答える
1

BaseAdapterListViewまたはを使用するのに最適ですGridView。ただし、データベースからデータを取得する場合は、aのCursorAdapter方がはるかに適していますが、ドキュメントにはこれが対象であると記載されていListViewます。したがって、データベースから取得したデータの表示に関連する場合に、とSimpleCursorAdapterの両方が必要な場合は、aを使用するもう1つのタイプになります。しかしもちろん、あなたの実装を知ることは私があなたに最良の選択を与えるのに役立つでしょう。ListViewGridView

コメントの1つで見たので、追加する必要があります。ArrayAdapter基本的にはBaseAdapterですが、違いは、任意のオブジェクトの配列を取得することです。これは、箱から出してすぐに配列に最適な配列です。

于 2012-12-03T04:52:32.513 に答える
0

getCount() は必須です。ListView、GridView などに、表示するアイテムの数を伝えます。多くの場合 (独自のコードで getView() を実装する場合)、getItem() と getItemId() は実際にはオプションであり、単なるヘルパー メソッドです。これらのメソッドはアダプターにとって基本的なものであり、パフォーマンスの向上には役立ちません。getView() の実装がパフォーマンスに最も影響を与えると思います。

于 2012-12-03T04:58:48.283 に答える