基本的には ListView や SingleChoice と同じ.
Adapter の作成時に Muliple Choice ようのレイアウトを設定するのと
setChoiceMode で ListView.CHOICE_MODE_MULTIPLEを設定するくらい
すると CheckBox 付きのリストが表示されます.
というわけで,MultipleChoiceList をいじってみた.
サンプルコード
- public class MultipleChoiceListViewSample 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_multiple_choice,
- DAYS)
- );
- // フォーカスが当たらないよう設定
- listView.setItemsCanFocus(false);
- // 選択の方式の設定
- listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
- for (int i = 1; i < 6; i++) {
- // 指定したアイテムがチェックされているかを設定
- listView.setItemChecked(i, true);
- }
- // アイテムがクリックされたときに呼び出されるコールバックを登録
- listView.setOnItemClickListener(new OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent,
- View view, int position, long id) {
- // クリックされた時の処理
- }
- });
- // 現在チェックされているアイテムを取得
- // チェックされてないアイテムは含まれない模様
- SparseBooleanArray checked = listView.getCheckedItemPositions();
- for (int i = 0; i < checked.size(); i++) {
- // チェックされているアイテムの key の取得
- int key = checked.keyAt(i);
- Log.v(getClass().getSimpleName(), "values: " + DAYS[key]);
- }
- }
- // ListView に表示させる文字列
- private static final String[] DAYS = new String[] {
- "Sunday", "Monday", "Tuesday", "Wednesday",
- "Thursday", "Friday", "Saturday"
- };
- }
- <?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 件のコメント:
コメントを投稿