查询了我想要的数据后,我现在有一个光标保存所有数据,并在Listview中显示给用户。
当用户点击某个项目进行编辑时,我将光标移动到正确的位置cursor.moveToPosition(pos)
,从中我可以获得所需的所有项目数据:ID,Title,Folder or not,Parent文件夹中。
现在我有父文件夹ID,如何使用它来获取项目文件夹的标题,以便我可以在项目当前所在的文件夹中显示用户? 我不能使用移动到位置因为我不知道父位置,只知道它的ID。
这是db的一个例子。
文件夹列 - > 0 =不是文件夹(false),1 =文件夹(true)
PARENT 列 - >保留其文件夹
的 IDID 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
实施例: 用户编辑item3。我将光标移动到位置2(从0开始)。我得到item3 parent,ID = 1。如何获得ID = 1的标题。
希望它足够清楚:) 谢谢!
答案 0 :(得分: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的新查询。
答案 1 :(得分:0)
您可以使用:
yourCursor.getString(yourCursor.columnIndex("TITLE"));
这将为您提供光标当前指向的行中“TITLE”列中的值。
答案 2 :(得分:0)
在您的查询中,您可以包含一个JOIN,将父标题加载到ResultSet中的另一列,稍后检索它而无需再执行其他查询或再次迭代Rs。