Неправильный элемент удален из базы данных sqliteAndroid

Форум для тех, кто программирует под Android
Ответить
Гость
 Неправильный элемент удален из базы данных sqlite

Сообщение Гость »

У меня есть recyclerview с базой данных sqlite, но при попытке удалить элемент в списке в базе данных удаляются неправильные элементы.
Это метод добавления списка:
int indexId = cursor.getColumnIndex("id");
cursor.moveToFirst();
do {
int id = cursor.getInt(indexId);
//....other variables
//inserting into the list
soilList.add(new ListSoil(id, soilName, remarks, date, nitrogen, phosphorus, potassium, moisture, temperature));
Log.d("DataFragment", "id: " + id); //result here has the right id
} while (cursor.moveToNext());
cursor.close();

Кнопка удаления: у меня есть журнал, и я продолжаю получать сообщение «Идентификатор элемента, на который нажали: 1». вот почему неправильный элемент удаляется. он не получает правильный идентификатор. Здесь также нельзя использовать getAdapterPosition, возникнет та же проблема.
delete.setOnClickListener(new View.OnClickListener(){
db = new Database(itemView.getContext());
db = new Database(itemView.getContext());
db.deleteOneRow(list.getId());
Log.d("DeleteButton", "clicked item id: " + list.getId());
}

метод удаления строки в базе данных
public int deleteOneRow(int id){
SQLiteDatabase db = getWritableDatabase();
Log.d("DeleteMethod", "Deleting row with ID in table: " + id);
return db.delete("SoilData", "id = ?", new String[]{String.valueOf(id)});
}

Класс списка:
int id; //..other variables
public ListSoil(int id, String soilName, String remarks, String date, double nitrogenInput, double phosphorusInput, double potassiumInput, double moistureInput, double tempInput) {
this.id = id;}
//i have getId()


Подробнее здесь: https://stackoverflow.com/questions/781 ... e-database
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»