gpt4 book ai didi

java - Parse.com 查询 findInBackground 不返回任何数据

转载 作者:行者123 更新时间:2023-12-01 17:06:19 25 4
gpt4 key购买 nike

我下面的函数应该返回来自 parse.com 的所有学生,在一段代码(下面注释)中,列表完全填充了正确的结果,但是在函数末尾,列表是空的。我不太明白这里发生了什么,非常感谢任何帮助。

public List<Student> getAllStudents() {
final List<Student> studentList = new ArrayList<Student>();
ParseQuery<ParseObject> query = ParseQuery.getQuery("Student");
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> list, ParseException e) {
if (e == null) {
for (ParseObject o : list) {
Student s = new Student();
s.setObjectId(o.getObjectId());
s.setFirstName(o.getString("FirstName"));
s.setSurname(o.getString("Surname"));
s.setDOB(o.getString("DOB"));
s.setInstructor(o.getBoolean("Instructor"));
studentList.add(s);
}
// studentList is full here
} else {

}
// studentList is full here too
}

});
// studentList is empty here
return studentList;
}

最佳答案

根据 https://parse.com/docs/android/api/com/parse/ParseQuery.html#findInBackground(com.parse.FindCallback) : public void findInBackground(FindCallback回调)
在后台线程中从服务器检索满足此查询的 ParseObject 列表。这比使用 find() 更好,除非您的代码已经在后台线程中运行。
因此,如果您想在方法中得到结果,请使用 find 或在 FindCallback 完成工作时添加一些通知。

关于java - Parse.com 查询 findInBackground 不返回任何数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25411547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com