Android SimpleCrsorAdapter无法工作,因为缺少\u id

Android SimpleCrsorAdapter无法工作,因为缺少\u id,android,cursor,simplecursoradapter,Android,Cursor,Simplecursoradapter,光标和SimpleCursorAdapter有问题 我想要完成的是: 我有一个包含3个字段的数据库 _id |昵称|某物 我想清楚地选择所有昵称,并在AutoCompleteTextView中提供它们 问题: 在执行以下查询时,我没有选择_id-field。这就是为什么我在尝试创建SimpleCursorAdapter时出错的原因,因为光标中没有字段id。 但是如果我在查询中选择_id,光标中的昵称将不再是目的地!此外,据我所知,光标不可修改,或者是 所以我想出了一个可行的解决办法,但它的编程风

光标和SimpleCursorAdapter有问题

我想要完成的是: 我有一个包含3个字段的数据库 _id |昵称|某物

我想清楚地选择所有昵称,并在AutoCompleteTextView中提供它们

问题: 在执行以下查询时,我没有选择_id-field。这就是为什么我在尝试创建SimpleCursorAdapter时出错的原因,因为光标中没有字段id。 但是如果我在查询中选择_id,光标中的昵称将不再是目的地!此外,据我所知,光标不可修改,或者是

所以我想出了一个可行的解决办法,但它的编程风格非常糟糕,因为我做的工作是原来的两倍。。。我只是将相同的数据放入另一个容器中,然后使用它。没有直接的方法吗?这其实是一个简单的任务。。。一定有办法做到这一点,但我看不到

代码如下:

感谢您的帮助

您是否尝试过:

SELECT _id, nickName FROM highscore_table GROUP BY nickName ORDER BY nickName COLLATE NOCASE

我不确定这在SQLite中是否有效。

您也可以这样编写

SELECT  personid _id, nickName FROM highscore_table GROUP BY nickName ORDER BY nickName COLLATE NOCASE 

将第一个字段personid作为别名重命名_id

谢谢,这实际上解决了_id问题。但现在我注意到,我必须实现AutoCompleteTextView的过滤功能,因为SimpleCorsOrAdapter无法单独实现。所以我想我无论如何都会坚持解决办法。但是谢谢你的提示!顺便说一句:这里有一种改变光标显示的方法:我不明白你把第一个字段personid作为别名rename\u id是什么意思。。。这对我有什么帮助?这个答案与flo有什么不同?如果您使用的是现有数据库,并且在该数据库中有固定的列名,那么您可以使用别名_id使用相同的名称。无需更改数据库中每个表的列名啊,现在我明白您的意思了。你不太明白这个问题。该数据库中已存在字段id。但我不想选择那个专栏。但是android要求我选择该列,因为否则api无法正确处理它。
SELECT  personid _id, nickName FROM highscore_table GROUP BY nickName ORDER BY nickName COLLATE NOCASE