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

広告

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

java.lang.Object
  android.view.View
    android.view.ViewGroup
      android.widget.AdapterView
        android.widget.GridView

GridViewクラスはAdapterViewクラスのサブクラスです。GridViewクラスはアダプターを使って別に用意されたデータを子要素として持つビューです。例えばグリッドは、グリッドに表示される個々のデータが子要素となり、個々のデータはアダプターを使ってグリッドに割り当てられます。

なおGridViewでは個々のデータは左上から順に配置され設定された列の数だけ順に右の項目へ配置されていきます。設定した列の数が終わったら自動的に次の行へ移り改めて左から順に列の数だけ配置されていきます。

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

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

コンストラクタ
GridView(Context context)
GridView(Context context, AttributeSet attrs, Map inflateParams)

コンストラクタは3つ用意されています。1番目のコンストラクタ以外は詳細は不明です。

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

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

private final int WC = ViewGroup.LayoutParams.WRAP_CONTENT;

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

    GridView grid = new GridView(this);
    setContentView(grid, new ViewGroup.LayoutParams(WC, WC));
}

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

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。