我正在尝试从解析表中删除特定行, 我从解析表中获取对象并将其添加到 arrayList, 当我单击 ListView 时,我首先检查我单击的值是否正确,没关系,当我尝试删除特定行时,它总是删除最后一行 我做错了什么?
这是我的代码
ParseQuery<ParseObject> query = ParseQuery.getQuery("SmsTable");
for (int i = 0; i <cm.mList.size() ; i++) {
query.whereEqualTo("objectId", cm.mList.get(i));
}
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> objects, ParseException e) {
if (e == null) {
// iterate over all messages and delete them
for (ParseObject smsObject : objects) {
smsObject.deleteInBackground();
}
} else {
//Handle condition here
}
}
});
最佳答案
查询仅支持每个字段的一种类型的一个约束。您当前在循环中所做的操作基本上会覆盖您在循环的上一次迭代中设置的任何内容。
如果要查询多个 ID,请使用 whereContainedIn
约束并将 objectId 作为列表传入。
因此,这应该可以工作,而不是循环:
query.whereContainedIn("objectId", {YOUR_LIST_OF_IDS})
文档中还有一个关于 Query Constraints 的示例.
关于android - 在android中从解析中删除特定行没有成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31120321/