Am trying to delete a row from players table (which just has players name and id in each row). I feel it may be something obvious I'm missing but just can't see where I'm going wrong here.
MyCode
DatabaseHelper.java
public Integer deletePlayer(String id) {
SQLiteDatabase db = this.getWritableDatabase();
return db.delete(PLAYERS_TABLE, "id =?", new String[]{id});
}
ManagePlayers.java
I'm using a LongClickListener so a user of the app can delete any a player from a listview
playersListView.setOnItemLongClickListener(
new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
removeItemFromList(position);
return true;
}
}
);
public void removeItemFromList(int position) {
final int deletePosition = position;
AlertDialog.Builder alert = new AlertDialog.Builder(
ManagePlayers.this);
alert.setTitle(getString(R.string.delete_player));
alert.setMessage(getString(R.string.are_sure_delete_player));
alert.setPositiveButton(R.string.positiveAnswer, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//these three lines delete the listview row
playerNameArrayList.remove(deletePosition);
myArrayAdapter.notifyDataSetChanged();
myArrayAdapter.notifyDataSetInvalidated();
if (dbh.deletePlayer(String.valueOf(deletePosition)) > 0) {
Toast.makeText(ManagePlayers.this, "Player Deleted", Toast.LENGTH_LONG).show();
finish();
} else
Toast.makeText(ManagePlayers.this, "Player NOT Deleted", Toast.LENGTH_LONG).show();
}
});
alert.setNegativeButton(R.string.negativeAnswer, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alert.show();
}
Can you please advise how I can delete rows from my players table successfully?
Thks,
Sean