概ねタイトルとおりの内容です。
リストビュー(ListView)の使い方を紹介してみます。
名前の通りリストを表示する為のViewですね。使用頻度は高めです(^ω^)
使うためにはArrayAdapterクラスを使用したりと他のViewとは若干違うところがあったりするので注意です。
リストに使用する配列とアダプタ(ArrayAdapter)を作成する
ListViewを使いためには3つの手順が必要です。
大まかにはこのような感じに。
①リストに表示する用の配列を用意
②配列とリストビューの形式を指定してアダプタを作成
③ListViewを作成、アダプタをListViewに設定
String[] str = { "ルーミア","チルノ","紅美鈴","パチュリー","十六夜咲夜","おぜう" }; ArrayAdapter<String> ad = new ArrayAdapter<String>( this, android.R.layout.simple_list_item_1, str ); ListView lv = new ListView(this); lv.setAdapter(ad);
上記の例だと、リストビューの形式はAndroidni標準で用意されている形式
android.R.layout.simple_list_item_1
を使用しています。
リストビューをクリックした時のリスナーを登録する
次にリストビューをの項目をクリックした時の処理を追加します。
いつも使っているOnClickListenerではなく、OnItemSelectedListenerというリスト用のリスナを使います。
class SampleListener implements OnItemClickListener{ @Override public void onItemClick(AdapterView<?> v, View iv, int pos, long id) { /*ここにクリックされた時の処理*/ } }
サンプルプログラム
※importは省略
public class Sample20120810Activity extends Activity { TextView tv; ListView lv; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout ll = new LinearLayout(this); ll.setOrientation( LinearLayout.VERTICAL ); setContentView(ll); tv = new TextView(this); tv.setText("名前を選択して下さい。"); lv = new ListView(this); String[] str = { "ルーミア","チルノ","紅美鈴","パチュリー","十六夜咲夜","おぜう" }; ArrayAdapter<String> ad = new ArrayAdapter<String>( this, android.R.layout.simple_list_item_1, str ); lv.setAdapter(ad); ll.addView(tv); ll.addView(lv); lv.setOnItemClickListener( new SampleListener() ); } class SampleListener implements OnItemClickListener{ @Override public void onItemClick(AdapterView<?> v, View iv, int pos, long id) { TextView tmp = (TextView)iv; tv.setText( tmp.getText() + "が選択されました。" ); } } }
※31行目は?はプラグインの関係で全角になっていますが半角でお願いします。
【実行結果】
似たような使い方ができるスピナ(Spinner)というビューがあります。
そちらの紹介はまた次の機会に。