基本的には ListView と同じ.
Adapter の作成時に Single Choice ようのレイアウトを設定するのと
setChoiceMode で ListView.CHOICE_MODE_SINGLEを設定するくらい
すると RadioButton 付きのリストが表示されます.
というわけで,SingleChoiceList をいじってみた
サンプルコード
public class SingleChoiceListViewSample extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listview_sample); ListView listView = (ListView)findViewById(R.id.ListView); // アダプタの作成 listView.setAdapter(new ArrayAdapter<String>( this, android.R.layout.simple_list_item_single_choice, SIZES) ); // 選択の方式の設定 listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); // 指定したアイテムがチェックされているかを設定 listView.setItemChecked(0, true); // アイテムがクリックされた時に呼び出されるコールバックを登録 listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // クリックされた時の処理 } }); // 現在チェックされているアイテムの position を取得 listView.getCheckedItemPosition(); } // ListView に表示させる文字列 private static final String[] SIZES = new String[] { "XS(eXtra Small)", "S(Small)", "M(Medium)", "L(Large)", "XL(eXtra Large)" }; }
XMLリソース
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="ListSample" /> <ListView android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" android:id="@+id/ListView"> </ListView> </LinearLayout>
実行すると...
こんな感じ!
参考サイト
http://developer.android.com/intl/ja/reference/android/widget/ListView.html
0 件のコメント:
コメントを投稿