代码之家  ›  专栏  ›  技术社区  ›  Ryan

向数据库光标添加数据

  •  3
  • Ryan  · 技术社区  · 16 年前

    也许我走错了方向,但如果是,请纠正我。 情况如下:我有一个查询,它返回存储在数据库中的铃声的URI字符串。

    我试图用振铃器“标题”在光标上添加一个“列”(因为它可以在程序外更改)。

    我可以成功使用 RingtoneManager 要获取标题,但我不知道如何将此“列”添加到光标数据中以供以后使用。

    以下是迄今为止我所拥有的:

    if (cursor != null) {  
        cursor.moveToFirst();  
        do {  
            String ringerTitle =   getRingerTitle(cursor.getString(cursor.getColumnIndex(PoolDbAdapter.KEY_RINGER)));  
    
            // How can I add ringerTitle to a new column here?
    
        } while (cursor.moveToNext());   
    }
    
    3 回复  |  直到 11 年前
        1
  •  4
  •   CommonsWare    16 年前

    不能修改现有的 Cursor 这种方式。您需要创建 光标 从一开始就要寻找数据。

    但更可能的是,您不需要修改 光标 但不管用什么 光标 必须更聪明。例如,如果您的问题是不能在 SimpleCursorAdapter ,您需要切换到 CursorAdapter 超驰 bindView() 拥有你想要的智慧。

        2
  •  1
  •   MidasLefko Drakosha    11 年前

    我还没有尝试过(我会在这里更新),但是,以下步骤可能有效:

    为了参数起见,让我们调用原始的基于光标的光标

    1. 使用A MatrixCursor 创建要添加的新列(我们称之为NewColumnCursor)
    2. 然后创建一个以basecursor和newColumnCursor为元素的光标[]。
    3. 将该数组传递给 MergeCursor .
        3
  •  0
  •   blacharnia    16 年前

    请看这条线:

    Writing to cursor: