我正在努力让某个城市或某些性别的用户或用户从ma解析服务器获得,但此代码会返回所有年龄=“20”,city =“new york”的用户,gender =“females”
public void sendQuery() {
String ages1 = SharedPrefsActivity.n;
String cities = SharedPrefsActivity.ph;
String genders = SharedPrefsActivity.e;
ParseQuery<ParseObject> ages =ParseQuery.getQuery("UserImages");
ages.whereEqualTo("age", ages1 );
ParseQuery<ParseObject> city1 = ParseQuery.getQuery("UserImages");
city1.whereMatchesKeyInQuery("city", cities , ages);
final ParseQuery<ParseObject> gender1 = ParseQuery.getQuery("UserImages");
gender1.whereMatchesKeyInQuery("gender", genders, city1);
gender1.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> results, ParseException e) {
for (ParseObject gender : results) {
Object name = gender.get("name");
ParseFile image = (ParseFile) gender.get("ImageFile");
Usernames.add(((Object) name).toString());
imageUrls.add(((ParseFile) image).getUrl().toString());
}
}
});
}
答案 0 :(得分:1)
AND is accomplished by applying multiple criteria to a single query:
ParseQuery<ParseObject> query =ParseQuery.getQuery("UserImages");
query.whereEqualTo("age", ages1 );
query.whereEqualTo("city", cities );
query.whereEqualTo("gender", genders );
query.findInBackground( ...