也许我会以错误的方式解决这个问题,但如果是这样,请指正。 情况就是这样:我有一个查询,它返回存储在数据库中的铃声的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());
}
答案 0 :(得分:4)
您不能以这种方式修改现有的Cursor
。您需要使用您在一开始就查找的数据创建Cursor
。
但更有可能的是,您不需要修改Cursor
,而是使用Cursor
的任何内容都必须更加智能。例如,如果您的问题是您无法在SimpleCursorAdapter
中使用计算列,则需要切换到CursorAdapter
并覆盖bindView()
以获得所需的智能。
答案 1 :(得分:1)
我还没有尝试过(我会在这里更新)但是,也许以下步骤可行:
为了论证,我们调用原始游标baseCursor
答案 2 :(得分:0)
请看一下这个主题: