Androidプログラマへの道 〜 Moonlight 明日香 〜 - リストアクティビティを作成する
リストアクティビティ(ListActivity)は, ListViewを1つ配置した表示や, 一覧から選択するイベントハンドラを提供する.



リストアクティビティ

    • アクティビティは, eListActivityクラスを継承する.
    • アイテムリストを作成する.
    • アダプタ(ここではArrayAdapterクラス)を作成する.
    • アダプタを設定する.
    • アイテムが選択されたときの処理を行うため, onListItemClickメソッドをオーバーライドする.
    • ListView.getItemAtPositionメソッドで, 選択されたアイテムのデータを取得する.
package com.moonlight_aska.android.list01;

import android.app.ListActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class List01 extends ListActivity {
  private static final int ITEM_NUM = 5;
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // アイテムのリスト
    String[] items = new String[ITEM_NUM];
    for(int i=0; i<ITEM_NUM; i++) {
      items[i] = new String("Item" + (i+1));
    }
    // アダプタを作成
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
      android.R.layout.simple_list_item_1, items);
    // アダプタを設定
    setListAdapter(adapter);
  }

  // アイテムが選択されたときの処理
  @Override
  protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);
    String item = (String)l.getItemAtPosition(position);
    Log.v("ListView", item);
  }
}