Android:通过ContentValues增加DB字段

Pau*_*ega 11 sqlite android android-contentprovider

我正在通过该getContentResolver().update()方法更新ListView中的项目,并且我想通过ContentValue递增"views"字段,但无法弄清楚这是否可行.

我可以使用原始SQL执行此操作SET views = views + 1,但设置ContentValue,例如cv.put("views", "views + 1")将views字段中的结果显式设置为"views + 1"而不是数字.

关于此的任何指示,或者我是否采用更手动的方法?

谢谢,

保罗

更新:

我现在回到使用原始SQL执行更新,然后通过手动通知基础CursorAdapter更改getContentResolver().notifyChange().如果我能找到一种方法直接通过getContentResolver().update()这样做,仍然会很棒,所以如果有人有办法做到这一点,请在这里发布.

Pau*_*ega 7

我对此的最终解决方案是使用自定义Uri(沿着行...item/5/updateviews),通过ContentProvider调用getContentResolver().update(customUri, ...)传递this Uri告诉我的ContentProvider的重写update()方法增加该项的视图计数,从而避免需要update()通过它的ContentValues参数传递值.