android - 在android中从解析中删除特定行没有成功

标签 android parse-platform

我正在尝试从解析表中删除特定行, 我从解析表中获取对象并将其添加到 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/

相关文章:

android - 低功耗蓝牙传感器模拟器

android - Android 应用程序中未显示外部图像 - Meteor - Cordova

ios - 可变数组 iOS 中的最大元素

javascript - 使用 Parse 并尝试在 JavaScript 中解析数据库条目

ios - 保存要解析的图像数组

ios - 单击 UIImageView 更改 ViewController

android - 如果有多个数据库,firebase.getInstance() 会得到什么

java - 动画不适用于所有设备

java - 如何在android中播放多个音频文件?

android - 解析文件查询不起作用