android - 如何将 SimpleCursorAdapter 与 single_choice 和 multiple_choice 一起使用

标签 android adapter simplecursoradapter listadapter

我正在开发一个包含多答案类型和单答案类型的测验应用程序。问题和答案存储在 sqlite 数据库中。我使用简单的游标适配器并了解如何使用 here !我的问题是,如果我的答案类型发生变化(单个到多个),我如何从 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);

最佳答案

检查此代码:对于单选:

 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
               }
            }
        });

关于android - 如何将 SimpleCursorAdapter 与 single_choice 和 multiple_choice 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15677371/

相关文章:

android - 使用替换时 fragment 不调用 onPause 或 onStop

android ListActivity 不适用于自定义适配器

java - ListView 适配器搞乱了项目高度

.net - 在没有 Biztalk Server 的情况下使用 Biztalk SAP Adapter 连接 .NET 和 SAP

android - CheckedTextView 未选中

android - ICS 中的 SimpleCursorAdapter

android - 资源 $NotFoundException : Resource ID # type #0x12 is not valid

java - 从字节到大无符号整数和字符串的转换

java - 高效读取大量数据

android - 安装 Python-For-Android Linux Ubuntu,构建错误