我有一个光标填充了我的数据库,我想删除此表中的元素。
她是我数据库的删除代码:
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);
但是当我点击删除按钮时没有任何反应。该行仍然存在于我的Recyclerview中。
请帮帮我!
答案 0 :(得分:0)
因为您没有初始化databaseHelper
。
试用此代码:
DatabaseHelper databaseHelper = new DatabaseHelper(this); //in case of activity.
DatabaseHelper databaseHelper = new DatabaseHelper(getActivity()); //in case of Fragment.
将此代码粘贴到onCreate() of Activity
或onCreateView() of Fragment
。
谢谢,如果有人需要了解更多,请告诉我。
答案 1 :(得分:0)
我将检查变量i in: databaseHelper.deleteItem(ⅰ); 表示我需要删除的记录的现有ID。