Я пытаюсь удалить одну строку с помощью onLongClick
элемента списка, но иногда удаляет строку, а иногда нет. Возможно, я передаю неправильный идентификатор, я не понимаю, что на самом деле проблема.Удаление одной строки SQLite
Я пробовал код, и я пробую последние 2 дня, но не могу это решить.
Ниже приведен мой код.
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, final long id) {
AlertDialog.Builder alert = new AlertDialog.Builder(FavouriteListActivity.this);
alert.setMessage("Do you want to unfavorite selected item ?");
alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.i("===========", "Position === " + position);
Log.i("===========", "long id === " + id);
deleteMethod(id);
showFavouriteList();
dialog.cancel();
}
});
alert.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
alert.show();
return true;
}
И Стирания
private void deleteMethod(long Id) {
try {
long shId = Id + 1;
SQLiteDatabase db = OpenHelper.getDataHelper(getApplicationContext());
String query = "DELETE FROM " + LocalDatabase.FAVORITE_LIST.TABLE_FAVOURITE_LIST + " WHERE " + LocalDatabase.FAVORITE_LIST.FAVOURITE_LIST_ID + " = " + shId;
Log.i("QUERY", "" + query);
db.execSQL(query);
db.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Я не получаю сообщение об ошибке, хотя, но это не удаление элемента из базы данных или из ListView
это все правильно, я думаю, вы не обновили версию приложения и не обновили OnUpdate метода ур класса dbhelper, просто чтобы избежать всего этого просто unistall приложения от ур тестирования устройства и запустить агу в. – HAXM
@HAXM, спасибо за быстрый ответ. Я пробовал все так много, но ничего не работает. Даже я пробовал обновлять версию, удаляя базу данных и данные с устройства всеми возможными способами ... – user3686177
Вы уверены, что исключение не регистрируется? Вы пытались запустить sql в фоновом потоке? Вы уверены, что логика обновления listview верна? адаптер перезагружается из db? –