我在Parse有3个课程。
1)发布(post_id,post_text,user_pointer)
2)投票(vote_type,post_pointer,user_pointer)
3)评论(comment_id,post_pointer,user_pointer)
我需要获取帖子文本列表,总票数和&对特定帖子的评论 并检查当前用户是否已投票。如果投票,也返回vote_type(upvote,downvote)。
我试过了。
ParseQuery<ParseObject> query = ParseQuery.getQuery("Post");
query.orderByDescending("createdAt");
query.findInBackground(new FindCallback<ParseObject>()
{
@Override
public void done(List<ParseObject> list, ParseException e)
{
// TODO Auto-generated method stub
if(e==null)
{
if(list!=null)
{
for(int i=0;i<list.size();i++)
{
final PostObject obj = new PostObject();
String posttext = list.get(i).getString("post_text");
obj.setPost(posttext);
obj.setObjectID(objID);
ParseQuery<ParseObject> query = ParseQuery.getQuery("Votes");
ParseObject pointerObj = ParseObject.createWithoutData("Post",obj.getObjectID());
query.whereEqualTo("post_pointer", pointerObj);
query.findInBackground(new FindCallback<ParseObject>()
{
@Override
public void done(List<ParseObject> arg0, ParseException e) {
// TODO Auto-generated method stub
if(e==null)
{
if(arg0.size()>0)
{
// get votes count
}
}
else
{
}
}
});
}
但for循环不等待内部查询执行。在我的案例中,有人可以建议一个好的方法来编写查询。
答案 0 :(得分:0)
尝试用obj.getObjectId()
替换obj.getObjectID()答案 1 :(得分:0)
我用于每个循环而不是for循环。这解决了我的问题。