2010-09-23 68 views
3

我的用户可以在一组记录中滑动。我在Preferences中保存最近看到的记录_ID,这样他们可以从他们下次访问应用程序时离开的位置开始。将光标位置移动到某个ID

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

moveToPosition(INT位置)
移动(INT偏移)

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

任何方式来做到这一点?

回答

0

可你只是有两个查询,一个用于NextEmployee

SELECT MIN(RecordId) WHERE RecordId > currentRecordId 

,一个用于PreviousEmployee

SELECT MAX(RecordId) WHERE RecordId < currentRecordId 

,然后调用moveToPosition的结果?

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

+0

迈克,我计划一次提取一堆记录。原因是用户会一次查看多个记录(一个接一个地查看),因此我不想为每个记录执行数据库查询。我想获得一堆并将其存储在本地光标中,所以当用户按下“Next”和“Previous”按钮时,我可以移动光标位置和显示记录,而不是数据库查询。希望这是有道理的。 – OceanBlue 2010-09-23 15:06:34

0

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

要创建这本词典,我必须迭代光标的所有元素一次,然后我会知道每个_id在光标内的位置(记住它不能同时修改,否则我会检索错误数据)。

您认为这是一个正确的方法吗?