我知道可以像这样删除记录:
getContentResolver().delete(Events.CONTENT_URI, Events._ID + " =? ", eventId);
其中 eventId 是一个字符串数组
,在本例中包含事件的 ID。
就我而言,我不想删除一个事件,而是多个事件。所以我有一个包含多个 eventId 的 eventId 数组。
我当然可以循环遍历数组并一一删除事件,但是是否也可以仅使用一次调用来删除它们?
最佳答案
试试这个代码,
ArrayList<ContentProviderOperation> operationList = new ArrayList<ContentProviderOperation>();
ContentProviderOperation contentProviderOperation;
for (/*loop over your arrayList*/)
{
contentProviderOperation = ContentProviderOperation.newDelete(Events.CONTENT_URI).withSelection(Events._ID + " =? ", new String[]{yourId}).build();
operationList.add(contentProviderOperation);
}
try {
getContentResolver().applyBatch(Contract.AUTHORITY, operationList);
}
// catch the exceptions
关于java - ContentResolver删除多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25770718/