リストビューを実現するには、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>
参考: リストビューのカスタマイズ


コメント