I am using external database in application. I would like to delete specific row from table quotes (Int ID, String quoteText, String quoteWiki). I am trying something like this in Bindviewholder:
holder.mDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mDatabaseHolder= new DatabaseHelper(mCtx);
int ID= quoteModel.getID();
mDatabaseHolder.openDatabase();
String table = "quotes";
String whereClause = "ID=?";
String[] whereArgs = new String[] {String.valueOf(ID)};
sqLiteDatabase.delete(table, whereClause, whereArgs);
mDatabaseHolder.closeDatabase();
}
});
Unfortunately i've got error:
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.database.sqlite.SQLiteDatabase.delete(java.lang.String, java.lang.String, java.lang.String[])' on a null object reference
DatabaseHolder
public List<QuoteModel> getListQuotes() {
QuoteModel quotesModel = null;
List<QuoteModel> quotesModelList = new ArrayList<>();
openDatabase();
Cursor cursor = mDatabase.rawQuery("SELECT * FROM quotes", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
quotesModel = new QuoteModel(cursor.getString(0),cursor.getString(1),cursor.getInt(2));
quotesModelList.add(quotesModel);
cursor.moveToNext();
}
cursor.close();
Quotes();
closeDatabase();
return quotesModelList;
}