gpt4 book ai didi

android - 在 RecyclerView 中删除基于游标的项目

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:02 24 4
gpt4 key购买 nike

这是我的 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);
}

问题是我的数据是一个游标对象,而游标没有像 ArrayList 这样的 .remove(position)。那么如何实现相同的目的,即从特定位置删除特定数据?

注意:我只想从特定(选定)位置删除数据,而不是数据库本身内的数据。

最佳答案

您不能从光标中删除项目,请在此处查看。

https://stackoverflow.com/a/6724929/5492047

相反,您可以转换列表中的光标项 https://www.javatpoint.com/java-list或数组列表 https://www.javatpoint.com/java-arraylist

并完成你的任务。

关于android - 在 RecyclerView 中删除基于游标的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28563961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com