2010-09-23 70 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在光標內的位置(記住它不能同時修改,否則我會檢索錯誤數據)。

您認爲這是一個正確的方法嗎?