基本的には 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 件のコメント:
コメントを投稿