SQLite数据库中的项目未在RecyclerView中删除

用户名

我有一个RecyclerView。当我单击删除按钮时,它从RecyclerView中删除了一个项目,但是当我重新启动应用程序时,该项目又回来了。这是我的数据库类中的函数:

public boolean deleteList(long rowId) {
    return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0;
}

这是带有删除按钮的适配器类:

@Override
public void onBindViewHolder(RecyclerViewViewHolder viewHolder, final int position) {
    viewHolder.name.setText(list.get(position).name);
    viewHolder.date.setText(list.get(position).date);
    viewHolder.delete.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            RecyclerViewListSchema item = list.get(position);
            SQLiteDatabaseAdapter database = new SQLiteDatabaseAdapter(view.getContext());
            database.open();

            boolean deleteList = database.deleteList((long) position);
            list.remove(position);
            notifyItemRemoved(position);

            database.close();
        }
    });
}

更新:我在deleteList函数中添加了一个commit函数,如下所示:

public boolean deleteList(long rowId) {
    db.beginTransaction();

    try {
        db.setTransactionSuccessful();
    }

    catch (Exception e) {
        Log.v("Commit", "Error: + " + e);
    }

    finally {
        db.endTransaction();
    }
    return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0;
}

我也没有在Android Monitor中得到任何东西。如何解决此问题?

剃刀

您正在尝试通过传递当前项目位置的值来删除。当然不行了!您需要尝试通过ID或RecyclerView中的名称来获取项目,后者意味着数据库和RecyclerView中的任何项目都不能具有相同的名称。在您的数据库类中尝试以下操作:

public boolean deleteList(String name) {
    return db.delete(DATABASE_TABLE, KEY_NAME + "=" + name, null);
}

在您的适配器中,调用相同的函数,但传递当前的项目文本,而不是其在RecyclerView中的位置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQLite数据库中的项目未在RecyclerView中删除

来自分类Dev

我如何从数据库中删除recyclerView中的项目

来自分类Dev

从RecyclerView和Realm数据库中删除项目

来自分类Dev

未在sqlite中创建数据库

来自分类Dev

没有从SQlite数据库中删除项目

来自分类Dev

没有从SQlite数据库中删除项目

来自分类Dev

如何从 ListView 和 SQLite 数据库中删除项目?

来自分类Dev

如何从数据库中删除项目

来自分类Dev

如何从数据库中删除项目?

来自分类Dev

从SQLite数据库中删除

来自分类Dev

如何从 recyclerView 和 sqlite 数据库中删除 cardview?(科特林 - 安卓)

来自分类Dev

如何从(SQLite)数据库加载的JTable中插入,更新和删除项目

来自分类Dev

每5分钟从SQLite数据库中删除不活动的项目(聊天)

来自分类Dev

删除没有ID字段的sqlite数据库中的项目

来自分类Dev

无法从Meteorjs中的Mongo数据库中删除项目

来自分类Dev

从数据库中删除项目 - Android Studio 中的 ListView

来自分类Dev

在Android中删除或更新SQLite数据库中的条目

来自分类Dev

如何从Xamarin中的SQLite数据库删除数据

来自分类Dev

数据未使用SQLite从数据库中删除

来自分类Dev

我无法删除Sqlite数据库中的数据

来自分类Dev

在SQLite数据库中获取最频繁的项目

来自分类Dev

从c中的sqlite数据库中选择多个项目

来自分类Dev

SQLite 项目未添加到数据库中

来自分类Dev

从数据库PHP SQL中删除项目

来自分类Dev

从列表视图和数据库中删除项目

来自分类Dev

Android:从列表视图以及数据库中删除项目

来自分类Dev

使用Javascript和PHP从数据库中删除项目

来自分类Dev

如何删除SQL数据库中的项目?

来自分类Dev

无法在Django视图中从数据库中删除项目

Related 相关文章

  1. 1

    SQLite数据库中的项目未在RecyclerView中删除

  2. 2

    我如何从数据库中删除recyclerView中的项目

  3. 3

    从RecyclerView和Realm数据库中删除项目

  4. 4

    未在sqlite中创建数据库

  5. 5

    没有从SQlite数据库中删除项目

  6. 6

    没有从SQlite数据库中删除项目

  7. 7

    如何从 ListView 和 SQLite 数据库中删除项目?

  8. 8

    如何从数据库中删除项目

  9. 9

    如何从数据库中删除项目?

  10. 10

    从SQLite数据库中删除

  11. 11

    如何从 recyclerView 和 sqlite 数据库中删除 cardview?(科特林 - 安卓)

  12. 12

    如何从(SQLite)数据库加载的JTable中插入,更新和删除项目

  13. 13

    每5分钟从SQLite数据库中删除不活动的项目(聊天)

  14. 14

    删除没有ID字段的sqlite数据库中的项目

  15. 15

    无法从Meteorjs中的Mongo数据库中删除项目

  16. 16

    从数据库中删除项目 - Android Studio 中的 ListView

  17. 17

    在Android中删除或更新SQLite数据库中的条目

  18. 18

    如何从Xamarin中的SQLite数据库删除数据

  19. 19

    数据未使用SQLite从数据库中删除

  20. 20

    我无法删除Sqlite数据库中的数据

  21. 21

    在SQLite数据库中获取最频繁的项目

  22. 22

    从c中的sqlite数据库中选择多个项目

  23. 23

    SQLite 项目未添加到数据库中

  24. 24

    从数据库PHP SQL中删除项目

  25. 25

    从列表视图和数据库中删除项目

  26. 26

    Android:从列表视图以及数据库中删除项目

  27. 27

    使用Javascript和PHP从数据库中删除项目

  28. 28

    如何删除SQL数据库中的项目?

  29. 29

    无法在Django视图中从数据库中删除项目

热门标签

归档