如何等待ParseQuery完成(findInBackground)?

时间:2015-05-12 14:58:53

标签: java android parse-platform

我发布了一个未回答的问题,询问为什么这个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首先显示一个空列表,然后添加一个新项目的每个列表的新行 - 表示在查询完成之前返回该(空)列表。

问题:在执行退货之前,有没有办法等待查询完成?

0 个答案:

没有答案