Я использую Room for Database и код для удаления строки, работающий должным образом при удалении последней записи таблицы, но не работающий, когда я удаляю середину первой записи.
DAO.class
@Delete
void deleteProduct(Product product);
Repository.class
public void deleteProduct(final Product product) {
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... voids) {
productDatabase.daoProduct().deleteProduct(product);
return null;
}
}.execute();
}
Вызов метода
ProductList<Product> productsList; //productsList contain records
productRepository.deleteProduct(productsList.get(position));
или работает правильно, когда я удаляю все записи в цикле
for (Product product : productsList) {
productRepository.deleteProduct(product);
}
Поэтому, пожалуйста, помогите мне определить проблему.