0

我试图databaseSpinner. SimpleCursorAdapter有些人怎么做不到

Cursor cs=db.getAllSession();
String[] from=new String[]{"sess_name"};        
int[] to=new int[]{android.R.id.text1};
SimpleCursorAdapter adapter= new SimpleCursorAdapter(this,  android.R.layout.simple_spinner_item, cs, from, to );
adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
sp.setAdapter(adapter);

会话表有两个字段idsess_name. 我得到非法参数异常。

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.world.shaman/com.world.shaman.Test}: java.lang.IllegalArgumentException: column '_id' does not exist

我不知道是什么问题

在此处输入图像描述

4

2 回答 2

1

正如biegleux 所说,光标需要有一_id列才能使微调器工作。

这并不一定意味着您需要更改数据库中的列名。这将是推荐的方式,但您也可以修改查询以获得所需的结果:

SELECT id AS _id, sess_name FROM your_table
于 2012-08-12T15:25:55.423 回答
0

用作表_id中列的名称,session而不是id.

来自CursorAdapter 文档

游标必须包含名为“_id”的列,否则此类将不起作用。

于 2012-08-12T12:14:09.740 回答