6

コンテンツ リゾルバーを使用して、複数のレコードの特定の 1 つの列だけを更新するにはどうすればよいですか?

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

上記の機能では、contentValues オブジェクトの各レコードのすべての値を書き換える必要がありますか? 次のような値を 1 つだけ指定してこの関数を使用した場合:

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

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

次に、「URIを更新できません: content://com.android.voicemail/voicemail?...一括更新はサポートされていません」という例外が発生しました。これは、「場所」がnullに設定されている可能性があります。

チュートリアルでは、「レコードのグループをコンテンツ プロバイダーにバッチ更新するには、変更する列と値を指定して ContentResolver.update() メソッドを呼び出します」と述べています。

しかし、私はこれを行うことができません....すべてのレコードの1つの列だけを更新する方法はまだわかりません。基本的に、既読のボイスメールを既読としてマークする必要があります。

4

0 に答える 0