如何使用 Android 中的解析使用内部查询获取数据?

How to fetch data using inner queries using parse in Android?

我在 Parse 中有 3 个 类。

1)Post (post_id,post_text,user_pointer)

2)投票 (vote_type,post_pointer,user_pointer)

3)评论(comment_id,post_pointer,user_pointer)

我需要获取 post 个文本的列表、特定 post 的总票数和评论 并检查当前用户是否投票。如果投票,return vote_type(投赞成票,投反对票)。

我试过了。

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 循环不等待内部查询执行。有人可以建议一种在我的案例中编写查询的好方法。

尝试用 obj.getObjectId()

替换 obj.getObjectID()

我使用 for each 循环而不是 for 循环。那解决了我的问题。