我有一个名为“classA”的解析类。我想构建一个查询,我想在其中搜索具有特定“objectId”的“classA”中的行。我写了下面的代码。但它总是返回一个空的 ParseObjects 列表。我尝试使用“classA”中存在的单独列。一直以来,返回的都是空列表。请帮忙。
我之前在同一个应用程序中的另一个类“classB”上使用过这个查询,并且效果很好。我也尝试过,使用“query.find”的“try-catch” block 实现。这也返回空列表。提前致谢。请解释哪里出了问题。
需要更多代码 fragment ,请告诉我。
Button btn = (Button) findViewById(R.id.query_btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText objIdET= (EditText) findViewById(R.id.obj_id);
String objId= objIdET.getText().toString();
Log.d("check", objId); // Prints correct value here..
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("classA");
fridgeID.whereEqualTo("objectId", objId);
List<ParseObject> lp = new ArrayList<ParseObject>();
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
Log.d("#results", String.valueOf(objects.size()));
}
});
}
}
});
最佳答案
用query
替换FridgeId
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("classA");
query.whereEqualTo("objectId", objId);
List<ParseObject> lp = new ArrayList<ParseObject>();
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
Log.d("#results", String.valueOf(objects.size()));
}
});
关于返回空列表的 Android 解析查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32765329/