ArrayAdapterクラスの定義とコンストラクタ

広告

ArrayAdapterクラスの定義を確認します。クラス図は次のようになっています。

java.lang.Object
 L android.widget.BaseAdapter
     L android.widget.ArrayAdapter

ArrayAdapterクラスはBaseAdapterクラスのサブクラスです。

ArrayAdapterクラスのコンストラクタ

ArrayAdapterクラスを利用するにはコンストラクタを使ってArrayAdapterクラスのオブジェクトを作成します。どのようなコンストラクタが用意されているか確認してみます。

コンストラクタの概要
ArrayAdapter(Context context, int resource)
ArrayAdapter(Context context, int resource, T[] objects)
ArrayAdapter(Context context, int resource, List objects)

コンストラクタは3つ用意されています。2番目のコンストラクタでは任意のオブジェクトの配列を使ってデータを管理します。3番目のコンストラクタではListクラスのオブジェクトを使ってデータを管理します。

2番目のコンストラクタを見てみます。

Constructor

Parameters:
  context  The current context.
  resource  The resource ID for a layout file containing a TextView to 
    use when instantiating views.
  objects  The objects to represent in the ListView.

1番目の引数には「Context」クラスのオブジェクトを指定します。ここでは自分自身を表す「this」を指定して下さい(画面を作成する「Activity」クラスは「Context」クラスのサブクラスとなっており、作成しているクラスは「Activity」クラスを継承して作成しています。すなわち作成しているクラスは「Context」クラスのサブクラスです)。

2番目の引数にはリソースとして登録された「TextView」に対するリソースIDを指定します。この「TextView」はデータが表示する時に使用されるビューとなります。

3番目の引数には保持するデータの一覧を表すオブジェクトの配列を指定します。例えばStringクラスのオブジェクトの配列などです。

具体的には次のように記述します。

private String[] data = {"Apple", "Lemon", "Orange"};

@Override public void onCreate(Bundle icicle) {
    super.onCreate(icicle);

    ArrayAdapter<String> arrayAdapter
      = new ArrayAdapter<String>(this, R.layout.rowtext, data);
}

では次のページ以降で「ArrayAdapter」クラスの詳しい使い方を確認していきます。

( Written by Tatsuo Ikura )