Dee*_*pak 4 android cursor simplecursoradapter
我有一个带有"mytable"表的数据库有2个列"id","sampletext"我想查询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);
Run Code Online (Sandbox Code Playgroud)
当我运行这个我在第4行得到错误:id不存在.当我将第一行改为"id"时,微调器被填充了id值.但我需要"样本文本",我做错了什么?感谢任何建议
Sel*_*vin 14
what am i doing wrong
Run Code Online (Sandbox Code Playgroud)
你没看过文件......
有两个带有列的字符串数组:第一个用于查询,第二个用于适配器构造函数(两个数据库只使用一个数组)
第一个告诉sqlite哪些列应该被带到Cursor,第二个告诉Adapter哪些应该显示/映射到单行的Views ...
下一个CursorAdapter需要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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12687 次 |
| 最近记录: |