2011-11-05 91 views
4

查詢我想要的數據後的一個排,我現在有一個光標保存所有的數據,呈現給在ListView用戶。移動光標被列

當用戶點擊一個項目進行編輯時,我將光標移動到正確位置cursor.moveToPosition(pos),從中我可以獲取所需的所有項目數據:ID,標題,文件夾與否,父文件夾。

現在,我有父文件夾ID,我如何使用它,以獲得該項目的文件夾的標題,所以我可以顯示在用戶文件夾什麼目前產品嗎? 我不能使用移動到的位置,因爲我不知道父母的位置,只有它的ID。

這裏的分貝的例子。

FOLDER柱 - > 0 =不是一個文件夾(假),1 =一個文件夾(真)

PARENT柱 - >保持其文件夾的ID

ID TITLE  FOLDER PARENT 
1 folder1  1  0 
2 item1  0  1 
3 item2  0  1 
4 folder2  1  1 
5 item1  0  4 
6 item2  0  4 
7 folder3  1  4 
8 item1  0  7 
9 item2  0  7 

示例: 用戶編輯項目3。我將光標移到位置2(從0開始)。我得到item3父母,這是ID = 1。我如何獲得ID = 1的TITLE?

希望這是很清楚:) 謝謝!

回答

4

你可以循環遍歷遊標再次檢查每個ID,看看它是否是1,然後獲得標題。

cur.moveToFirst(); 
while (cur.isAfterLast() == false) { 
    if (cur.getInt(cur.columnIndex("ID") == 1) { 
     String title = cur.getString(cur.columnIndex("TITLE")); 
    }  
    cur.moveToNext(); 
} 

或者您也可以提交新的查詢其中id = 1

+0

謝謝,我害怕這些是我唯一的選擇:)我想我會使用第二個...(就像我用它打開文件夾一樣)應該更快。 –

+1

使用'(!cur.isAfterLast())'而不是'(cur.isAfterLast()== false)'更好。無論如何,它解決了我遇到的問題,那不是這個。 –

0

你可以使用:

yourCursor.getString(yourCursor.columnIndex("TITLE")); 

這會給你的光標當前指向行中的列「TITLE」的值。

+0

nope ..這會給我所選項目的標題。我想要所選項目父項的標題(在我的示例中爲folder1) –

0

在查詢中可以包含一個JOIN加載父母的標題在你的ResultSet另一列,並在以後檢索,而不需要再做一次查詢或重複R一次。