web-dev-qa-db-ja.com

ArrayAdapter getView()メソッドはどのように機能しますか?

画像とテキストを表示するためにArrayAdapterを実行したい。できれば例は必要ありません。 getView()の仕組みを誰かに説明してほしい。

ありがとう。

40
Alex Moreno

getView()は、アダプターの主要部分です。 Viewを返します。これは、アダプターアイテムを使用するリスト/グリッド/ギャラリー/ビューとして表示されます。ビュー(リストなど)をスクロールするとトリガーされます。

したがって、カスタムアダプタを作成するために最初に行う必要があります。 BaseAdapterから拡張できます。次に、表示するデータを作成する必要があります(または、外部からアダプタに渡す-より優れたソリューション)。

その後、getView()メソッドをオーバーライドし、必ずカスタムビューをそこに返します。あなたの場合、それはLayoutImageViewおよびTextViewである必要があります(それらを埋めることを忘れないでください)。

あなたはから学ぶことができます:

24
Yakiv Mospan

BaseAdapterには、getViewのために呼び出されるAdapterView関数があります。つまり、ListViewです。

表示するビューの合計数を返すには、BaseAdapterのgetCountメソッドをオーバーライドする必要があります。

そしてgetViewであなたは次のものを得ます:

public View getView(int position, View convertView, ViewGroup parent) 
  1. ポジション:

    位置ごとに呼び出されるgetView 表示されるたびに

  2. convertView

    getViewは何度も呼び出されるため、コストがかかるたびに新しいビューをインフレートするため、リストビューは、以前に作成したビューの1つを再利用できるようにします。

  3. このビューが子になる親ビューへの参照。

ArrayAdapterBaseAdapterのサブクラスであり、コンストラクターでArrayList(または配列)を取ります。また、getCountをオーバーライドします。

実装する必要があるのはgetViewだけです

10
vipul mittal