Можно подшутить с MatrixCursor. С помощью этой стратегии вы копируете курсор и пропускаете одну строку, которую хотите исключить. Это, очевидно, не очень эффективно для больших курсоров, так как вы сохраните весь набор данных в памяти.
Вы также должны повторить массив String имен столбцов в конструкторе MatrixCursor. Вы должны сохранить это как константу.
//TODO: put the value you want to exclude
String exclueRef = "Some id to exclude for the new";
MatrixCursor newCursor = new MatrixCursor(new String[] {"column A", "column B");
if (cursor.moveToFirst()) {
do {
// skip the copy of this one ....
if (cursor.getString(0).equals(exclueRef))
continue;
newCursor.addRow(new Object[]{cursor.getString(0), cursor.getString(1)});
} while (cursor.moveToNext());
}
Я постоянно сражаюсь с этим; пытаясь создавать свои приложения только с помощью курсоров и поставщиков контента, стараясь как можно дольше избегать сопоставления объектов. Вы должны увидеть некоторые из моих ViewBinders ...: -)