首页 > 解决方案 > 创建时立即获取sql行的ID

问题描述

所以我有一个 recyclerView 可以添加对象。这些对象保存在 sql 数据库中,因此它们每个都有自己唯一的 id。我需要将单击的对象的 id 传递给下一个活动。

我的问题是,当 recyclerView 填充刚刚添加的对象时,除非我刷新活动,否则 id 始终为 0,然后 id 会正确填充。我想在创建/添加对象后立即获取 id。我有一个想法,那就是在创建对象时,自己设置 id,但我不知道该怎么做,或者它是否是正确的方法。有任何想法吗?

标签: javaandroidandroid-recyclerviewandroid-sqlite

解决方案


当您插入数据库时​​,如果您使用insert便捷方法,它将以 long 形式返回插入行的rowid,这将与别名为rowid的列的值相同。特别是使用column INTEGER PRIMARY KEY(带或不带 AUTOINCREMENT)使列成为rowid的别名。

因此获取返回的值,这就是 id(通常如果您利用 SQLite 和 Android SDK 的此功能)。


推荐阅读