修改android中的Cursor列值

use*_*o01 4 android cursor

我有一个Cursor返回从SQLiteDataBase对象,我可以使用getXXX()从光标获取列的内容,在我的情况下我想修改游标中的"更新"数据使用setXXX()方法,我知道没有setXXX()方法,但是有CursorWindow对象具有此功能,但我无法使用它

Bar*_*rak 5

您无法更改光标.

您可以做的是更新数据库,然后使用该reQuery()方法.

// code to update your db
cursor.requery();
Run Code Online (Sandbox Code Playgroud)

编辑

进一步的研究表明,显然我是不正确的.你可以做你想做的事,但这是相当多的工作(不,我没有尝试过,我只是重新查询我的光标).

我在论坛上发现了这一点(使用谷歌搜索):

你也可以继承SQLiteDatabase.CursorFactory返回,从newCursor方法,SQLiteCursor的子类.这个工厂被传递给SQLiteOpenHelper构造函数,因此,当你查询它时,它将返回你的新SQLiteCursor子类类型的游标.然后,SQLiteCursor子类可以公开管理其受保护的mWindow字段的方法,该字段是CursorWindow.该对象具有putXxx方法来操纵数据.