使用Room Android的@Delete注释时,无法删除表的第一条记录和最后一条记录

时间:2019-06-18 10:00:51

标签: android data-annotations android-room

我正在使用数据库空间和用于删除行的代码,在删除表的最后一条记录时可以正常工作,但是在删除第一条记录的中间时则无法工作。

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);
        }

所以请帮助我确定问题所在。

0 个答案:

没有答案