我需要检查两个游标是否指向具有相同值的相同行。是否可以?
更多细节:
- 我正在从我自己加载数据
ContentProvider
- 我正在向服务器发送请求,然后
ContentProvider
用新值更新我的数据。 - 如果值更改 - 我需要通知用户他可以更新数据。
根据 CommonsWare 删除的答案:
遍历 Cursor 中的相关列,检索值并比较每个值。
虽然您可能事先不知道每列的类型,但您可以使用Cursor.getType()
. 您还可以使用Cursor.getColumnNames()
来获取每列的名称和列数。
此信息将允许您使用正确的访问器方法来获取每个值并进行比较。
在 SQLite 中,行没有与其列值分开的标识(但ROWID
是这些值之一)。
你想要的要求你的数据有一些唯一的列作为游标的一部分,或者是ROWID
,或者其他一些保证没有重复的键值。
否则,您永远无法知道您所看到的是否只是在这些列中恰好具有相同值的两条记录。