我正在开发一个包含多答案类型和单答案类型的测验应用程序。问题和答案存储在 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/