android - 通过其中一列将光标移动到行

标签 android sqlite android-cursor

查询完我想要的数据后,我现在有了一个包含所有数据的游标,并在 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 parent,它是 ID=1。如何获取ID=1的TITLE。

希望它足够清楚:) 谢谢!

最佳答案

您可以再次遍历游标,检查每个 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。

关于android - 通过其中一列将光标移动到行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8023331/

相关文章:

android - 如何将支持库 snackbar 文本颜色设置为 android :textColor? 以外的其他内容

javascript - 内联 vs 包含 js 和 css?

android - 如何在 Android Studio 中构建 AOSP 项目

android - android SQLite 查询是否延迟执行?

android-contentresolver - ContentResolver 查询文档不过滤选择

android cursor.moveToNext()?

android - 如何在 Android 设备中创建 Web 服务器(用于远程访问)

python - Flask 数据库可以在开发中使用,但不能在 uWSGI 的生产中使用

iphone - 数据存储在plist数据库好还是Sqlite数据库好?

android,游标返回 bool 值?