2017-12-09 1 views
1

私のデータベースにはカーソルがあり、このテーブルから要素を削除したいと思います。カーソルを持つsqliteデータベース内のアイテムを削除する

彼女は私のデータベースあちこち削除コードです:

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

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にこのコードを貼り付けます。

ありがとうございました、いくつかのことをもっと知る必要がある場合はお知らせください。

+0

これを私のMainActivityに追加しますが、私は同じエラーがあります。 –

+0

アクティビティクラスとデータベースヘルパークラス –

+0

で質問を更新してください。他に必要なものがあれば教えてください! –

0

あなたが提供している小さなコードから、私は変数iが以下のようにチェックされます: databaseHelper.deleteItem(i); は、本当に削除する必要があるレコードの既存のIDを表します。

関連する問題