SQlite主键字段名称& CursorAdapter子类

时间:2014-04-14 19:04:58

标签: android sqlite simplecursoradapter android-cursoradapter

为什么CursorAdapter子类要求主键必须是_id

有没有一种方法来覆盖或类似的东西来改变这种行为?

我多次读过这个伎俩,我知道这一点......我只想更好地理解! 感谢

1 个答案:

答案 0 :(得分:2)

  

为什么CursorAdapter子类要求主键必须是_id?

它转过来并在各个地方提供该值,例如long id中的getView()值。

  

有没有一种方法来覆盖或类似的东西来改变这种行为?

不,抱歉。如果您没有合适的列,只需将ROWID AS _ID添加到要在rawQuery()中返回的列列表中:

SELECT ROWID AS _id, foo, bar FROM really_important_table ORDER BY foo;
默认情况下,

ROWID会自动添加到所有SQLite表中,并且是一个唯一的整数,可以很好地满足_id要求。