リストビューを実現するには、ListViewクラスとArrayAdapterクラスを使用します。
最もシンプルな文字だけのリストの場合、以下のようになります。
ArrayAdapterが若干ややこしいですが、柔軟なカスタマイズを可能とするため、このような仕様になっています。
public class MyClass extends Activity{ public void myMethod(){ ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1); adapter.add("Item1"); adapter.add("Item2"); adapter.add("Item3"); // String[] items = {"Item1","Item2","Item3"}; // ArrayAdapter adapter // = new ArrayAdapter(this,android.R.layout.simple_list_item_1,items); ListView list = (ListView)findViewById(R.id.mylist); list.setAdapter(adapter); // アイテムがクリックされた list.setOnItemClickListener(new AdapterView.OnItemClickListener(){ public void onItemClick(AdapterView parent,View view,int position,long id){ ListView lv = (ListView)parent; String item = (String)lv.getItemAtPosition(position); } }); // アイテムが選択された list.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){ public void onItemSelected(AdapterView parent,View view,int position,long id){ ListView lv = (ListView)parent; String item = (String)lv.getSelectedItem(); } public void onNothingSelected(AdapterView parent){ } }); } }
res/mylist.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/mylist" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
参考: リストビューのカスタマイズ
コメント