Удаление элементов на основе курсора в RecyclerView

Вот как мой recyclerView закодирован (частично):

expensesListCursor = dbc.listExpenses(selectedDate); mLayoutManager = new LinearLayoutManager(getActivity()); rvExpenses.setLayoutManager(mLayoutManager); rvExpenses.setItemAnimator(new DefaultItemAnimator()); mAdapter = new AdapterExpensesList(expensesListCursor,getActivity()); rvExpenses.setAdapter(mAdapter); 

Вот как написано мои dbc.ListExpenses

 public Cursor listExpenses(String date){ Cursor cursor; cursor = database.query(MySQLiteHelper.TABLE_EXPENSES, new String[] {"rowid as _id", "description, cost"}, "date='" + date + "'", null, null, null, "_id asc"); if (cursor != null) { cursor.moveToFirst(); } return cursor; } 

И вот как написано AdapterExpensesList

 public class AdapterExpensesList extends RecyclerView.Adapter<AdapterExpensesList.ViewHolder> { Cursor myDataCursor; public AdapterExpensesList(Cursor expensesListCursor, Context context){ myDataCursor = expensesListCursor; } 

Как вы можете видеть выше, элементы в моем RecyclerView берутся непосредственно из курсора. Моя проблема теперь, я хотел бы реализовать эту функцию, чтобы удалить некоторые данные в RecyclerView. Из примеров, которые я нашел в сети, обычно вот как они это сделали:

 private ArrayList<String> mDataset; public void remove(String item) { int position = mDataset.indexOf(item); mDataset.remove(position); notifyItemRemoved(position); } 

Проблема в том, что мои данные являются объектом курсора, а курсор не имеет .remove (position), например ArrayList. Итак, как я могу достичь того же, то есть удалить определенные данные из определенной позиции?

Примечание. Я просто хочу удалить данные из определенной (выбранной) позиции, а не из данных внутри самой базы данных.

Solutions Collecting From Web of "Удаление элементов на основе курсора в RecyclerView"