【问题标题】:delete item in sqlite database with cursor用光标删除sqlite数据库中的项目
【发布时间】:2017-12-09 13:35:22
【问题描述】:

我有一个游标填满了我的数据库,我想从这个表中删除元素。

她是我数据库中的删除代码:

public void deleteItem(int id){
    SQLiteDatabase database = this.getWritableDatabase();
    database.delete(ContractParaGastos.GASTO, ContractParaGastos.Columnas.MONTO + " = ?", new String[]{String.valueOf(id)});
    database.close();
}

这里是recyclerviewAdapter中的删除代码:

 viewHolder.button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
           databaseHelper.deleteItem(i);
        }
    });
}

我在我的适配器中添加了这一行:

 databaseHelper = new DatabaseHelper(context, ContractParaGastos.GASTO, null, 4);

但是当我点击删除按钮时,什么也没有发生。该行仍然存在于我的回收站视图中。

请帮帮我!

【问题讨论】:

    标签: android sqlite android-recyclerview


    【解决方案1】:

    因为你没有初始化databaseHelper

    试试这个代码:

       DatabaseHelper databaseHelper = new DatabaseHelper(this); //in case of activity.
       DatabaseHelper databaseHelper = new DatabaseHelper(getActivity()); //in case of Fragment.
    

    将此代码粘贴到onCreate() of ActivityonCreateView() of Fragment

    谢谢,如果有人需要了解更多信息,请告诉我。

    【讨论】:

    • 我在我的 MainActivity 中添加了这个但是我有同样的错误。
    • 请用活动类和数据库助手类更新你的问题
    • 我做到了。如果您还需要什么,请告诉我!
    • ContractParaGastos.GASTO 是您的表名,对吗??..为什么您将其作为数据库名称传递??
    • @mavis 发给我我的邮箱 ankitpatidar030@gmail.com
    【解决方案2】:

    从您提供的小代码中,我将检查变量 i : databaseHelper.deleteItem(i); 表示我需要删除的记录的现有 id。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 2014-10-17
      相关资源
      最近更新 更多