6

如何使用内容解析器仅更新多条记录的一个特定列?

update(Uri uri, ContentValues values, String where, String[] selectionArgs) 

上述功能是否需要我重写 contentValues 对象中每条记录的所有值?当我使用这个函数时只有一个值,比如:

ContentValues value = new ContentValues();      
value.put (Voicemails.IS_READ, 1 );//mark as read

int iRowsUpdated=contentResolver.update(uri, value, null, null);

然后我得到异常“无法更新URI:内容://com.android.voicemail/voicemail?...不支持批量更新”,这可能是因为“where”设置为null;

一个教程提到“要将一组记录批量更新到内容提供程序,请调用 ContentResolver.update() 方法并更改要更改的列和值。”

但我无法做到这一点....我仍然不知道如何只更新所有记录的一列,基本上我需要将已读语音邮件标记为已读。

4

0 回答 0