我有一个数据库,其中表“mytable”有 2 列“id”、“sampletext”
我想查询示例文本的不同值并使用 SimpleCursorAdapter 提供给 Spinner。
这是尝试过的
String[] cols=new String[]{"sampletext"};
int[] lbls=new lbls[]{android.R.id.text1};
mycursor=sdb.query(true,"mytable", cols,null,null,null,null,null,null);
sca=new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, mycursor, cols,lbls,0);
sca.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spn.setAdapter(sca);
当我运行此命令时,我在第 4 行收到错误:id 不存在。
当我将第一行更改为“id”时,微调器中填充了 id 值。
但我需要“样本文本”,我做错了什么?
感谢任何建议
what am i doing wrong
你没读文档...
有两个带有列的字符串数组:第一个用于查询,第二个用于适配器构造函数(两者仅使用一个数组)
第一个告诉 sqlite 哪些列应该被带到 Cursor,第二个告诉适配器哪些列应该显示/映射到单行视图......
Next CursorAdapter
needs Cursor
列名为_id
所以现在很明显我们应该这样做:
String[] queryCols=new String[]{"_id", "sampletext"};
String[] adapterCols=new String[]{"sampletext"};
int[] adapterRowViews=new int[]{android.R.id.text1};
mycursor=sdb.query(true,"mytable", queryCols,null,null,null,null,null,null);
sca=new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, mycursor, adapterCols, adapterRowViews,0);
sca.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spn.setAdapter(sca);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)