ArrayAdapterとは?
状態:学習中
閲覧数:2,162
投稿日:2013-09-22
更新日:2018-06-19
データソースとビューのつなぎ役を果たすもの
繰り返しレイアウト(中身がいくつか同じ構成のもので埋まるview)を作成する際に利用
・具体的には、ListView に表示される「アイテム( レイアウトリソース情報から生成された View )」内の 指定された1つの TextViewにテキストをセットする 役割を果たす
Adapterが果たす役割
・表示すべきビューをデータソースから組み立てる
・Adapterが内部データの違い(データがArrayだったり、Listだったり、Cursorだったりなど)を吸収してくれるので、Viewは余計なことを考えずに描画に集中できる
データ一覧を表示するには?
・ListVewやGridView、Galleryなど様々なViewがある
・これらのViewにはsetAdapterメソッドがあり、adapterがセットされると、表示すべきデータはこのアダプターから取得するようになる
そもそも、標準リスト用レイアウトでは何故だめなのか?
・Android標準のリスト用レイアウトではStringデータ1つしか表示できない
・沢山のデータからなるモデルをリスト表示する時困る
データ種類
ArrayAdapter で扱えるデータの型は 「Object の配列」か 「List インターフェイス実装クラス」
・つまり、用意するデータは、下記2種類の内、何れか
・ 配列
・ List
※ ArrayAdapter に渡された配列はコンストラクタ内で List に変更される
ジェネリック
・ArrayAdapter はジェネリックとして定義されている
・インスタンス生成時に型を定義しなくてはならない
引数として渡される 「 データ要素の型 」で定義
・配列ならば配列要素の型、 List ならば List 要素の型