问题描述
我有一个游标返回从SQLiteDataBase对象,我可以使用的getXXX()从游标获取列的内容,在我的情况我想用修改更新数据光标的setXXX()
的方法,我知道有没有的setXXX()
方法,但有这个功能CursorWindow对象,但我不能使用它
I have a Cursor returned From a SQLiteDataBase object , i can use getXXX() to get the content of columns from the cursor , in my case i want to modify "update" data in the cursor using setXXX()
method , i know there is no setXXX()
methods , but there is CursorWindow object that have this feature , but i can't use it
推荐答案
您不能更改光标。
你可以做的就是更新您的数据库,然后使用 REQUERY()
方法。
What you can do is update your database and then use the reQuery()
method.
// code to update your db
cursor.requery();
修改
进一步的研究表明,显然我是不正确。你可以做你想做的,但它是相当多的工作的(不,我还没有尝试过,我只是重新查询我的光标)。
Further research show that apparently I am incorrect. You CAN do what you want, but it's quite a bit of work (and no, I haven't tried it, I just requery my cursor).
我发现这个在论坛上(使用谷歌搜索):
I found this (using a Google search) on a forum:
您可以继承SQLiteDatabase.CursorFactory返回,从
newCursor方法,SQLiteCursor的子类。这家工厂被传递
到SQLiteOpenHelper构造函数,因此,当您查询,它会
返回新SQLiteCursor子类型的光标。该
然后SQLiteCursor子类可以公开管理方法,其
保护mWindow场,这是一个CursorWindow。这个对象有
putXxx方法来操作数据。
这篇关于修改Android的游标列值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!