1

複数の回答タイプと単一の回答タイプの両方を含むクイズアプリケーションを開発しています。質問と回答はsqliteデータベースに保存されています。単純なカーソルアダプターを使用して、ここから使用方法についてアイデアを得ます! 私の質問は、回答タイプが変更された場合 (単一から複数)、simple_list_item_single_choice から simple_list_item_multiple_choice に切り替える方法と、選択した回答を保存する方法です。

  db = new DBAdapter(this);
  SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
  android.R.layout.simple_list_item_1, 
  db.getAllTitles(), 
  new String[] { "title" }, 
  new int[] { android.R.id.text1 });

 ListView listView = (ListView) findViewById(R.id.list);
listView.setAdapter(adapter);
4

1 に答える 1

2

このコードを確認してください: 単一選択の場合:

 SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
  android.R.layout.simple_list_item_single_choice, 
  db.getAllTitles(), 
  new String[] { "title" }, 
  new int[] { android.R.id.text1 });

 ListView listView = (ListView) findViewById(R.id.list);
 listView.setAdapter(adapter);
 listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

複数の場合:

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
  simple_list_item_multiple_choice, 
  db.getAllTitles(), 
  new String[] { "title" }, 
  new int[] { android.R.id.text1 });

 ListView listView = (ListView) findViewById(R.id.list);
 listView.setAdapter(adapter);
 listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

要件に応じて、上記のいずれかを設定する必要があります。どの質問に単一の回答が必要で、複数の質問が必要かは、リスト項目のクリックも作成する必要があることに依存していると思います

listView.setOnItemClickListener(new OnItemClickListener() {

            private String my_sel_items;

            public void onItemClick(AdapterView arg0, View arg1, int arg2,
                    long arg3) {
                if(ans == multiple){
                my_sel_items = new String("Selected Items");
                SparseBooleanArray a = lView.getCheckedItemPositions();

                for (int i = 0; i < a.size(); i++) {
                    if (a.valueAt(i)) {
                        my_sel_items = my_sel_items + ","
                                + (String) listView.getAdapter().getItem(i);
                    }
                }
                Log.v("values", my_sel_items);
               }else{
                 // for single it default selected item
               }
            }
        });
于 2013-03-28T09:17:32.917 に答える