更新列中的项目列表

时间:2018-05-25 11:28:37

标签: android sqlite android-room

我想针对表格中的项目/行列表更新特定列。一种方法是在更新方法上应用循环,但有没有办法传递项目列表并为所有项更新该列,而不是在循环中进行?

道方法:

   @Query("UPDATE items SET is_processing=1 WHERE item_id=:id")
    public abstract void updateProcessingStatus(String id);

当前更新代码:

public void updateStatusOfList(List<Item> items)
{

   for(Item item:items)
   myDao.updateProcessingStatus(item);

}

1 个答案:

答案 0 :(得分:3)

只需将您的列表作为变量传递到查询中:

@Query("UPDATE items SET is_processing=1 WHERE item_id in (:items) ")
public abstract void updateProcessingStatus(List<String> items);

您可能需要先从“项目”列表中创建字符串列表。