我正在运行以下代码,我已经声明了ArrayList' userHolder'。解析服务器中还有两个值' User'具有列表数组中的值的类(FgiA ...,Swu ...)。当这段代码运行时,我得不到任何结果,尽管这些值在objectId列的User表中。我不确定会出现什么问题,因为我希望得到结果。
userHolder.add("FgiAXHQCOB");
userHolder.add("SwuT8v7pIQ");
Log.i("test", Integer.toString(userHolder.size()));
ParseQuery<ParseObject> query = ParseQuery.getQuery("User"); //Query table
query.whereContainsAll("objectId",userHolder);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, ParseException e) {
if (e == null){
Log.i("Find All", "Retrieved: " + list.size() + " objects in list!");
if (list.size()>0){
for (ParseObject object : list){
Log.i("wtf", object.getString("username"));
}
}
Log.i("Find All", "Success!");
}
else {
Log.i("Find All", "Failed!");
}
}
});
答案 0 :(得分:0)
containsAll
应该用于比较两个数组,并要求键是一个数组。在您的情况下,它是一个奇异值(objectId
)。请改为containedIn
。