我的用户可以浏览一组记录。我在“首选项”中保存了上次看到的记录_ID,以便他们可以从下次访问应用程序时离开的位置开始。
我也提取了_ID字段的光标。但是,我不知道如何将光标移动到该特定行。光标的以下功能需要特定的位置才能转到: -
moveToPosition(int position)
move(int offset)
_ID可能不是连续的(由于删除等)。
有什么办法吗?
答案 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的位置(记住它不能同时修改或者我会检索错误的数据)。
你认为这是一种正确的方法吗?