将光标位置移动到某个ID

时间:2010-09-23 14:50:06

标签: sql android

我的用户可以浏览一组记录。我在“首选项”中保存了上次看到的记录_ID,以便他们可以从下次访问应用程序时离开的位置开始。

我也提取了_ID字段的光标。但是,我不知道如何将光标移动到该特定行。光标的以下功能需要特定的位置才能转到: -

moveToPosition(int position)
move(int offset)

_ID可能不是连续的(由于删除等)。

有什么办法吗?

2 个答案:

答案 0 :(得分:0)

你能有两个查询,一个是NextEmployee

SELECT MIN(RecordId) WHERE RecordId > currentRecordId

和一个PreviousEmployee

SELECT MAX(RecordId) WHERE RecordId < currentRecordId

然后用结果调用moveToPosition?

我也很困惑你为什么要使用光标,为什么不只是基于recordId获取?

答案 1 :(得分:0)

我遇到了同样的问题,我想到了创建一个HashMap,其中_id为键,Cursor中的位置为值

要创建这个字典,我必须迭代Cursor的所有元素,然后我将知道Cursor中每个_id的位置(记住它不能同时修改或者我会检索错误的数据)。

你认为这是一种正确的方法吗?