我发布了一个未回答的问题,询问为什么这个ParseQuery会返回一个空列表而不是一个用户列表。从logcat看后,我认为在ParseQuery填充列表之前执行仍然存在问题。
public List<ParseUser> getDataset() {
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereEqualTo("foo", true).findInBackground(new FindCallback<ParseUser>() {
public void done(List<ParseUser> objects, ParseException e) {
if (e == null) {
// your logic here
for (ParseUser user : objects) {
mDataset.add(user);
Log.d("data", mDataset.toString());
}
mAdapter.notifyDataSetChanged();
} else {
// handle Parse Exception here
Toast.makeText(getActivity(), "Error: " + e.toString(), Toast.LENGTH_LONG).show();
}
}
});
Log.d("final", mDataset.toString());
return mDataset;
}
logcat首先显示一个空列表,然后添加一个新项目的每个列表的新行 - 表示在查询完成之前返回该(空)列表。
问题:在执行退货之前,有没有办法等待查询完成?