Java parse listview中的ParseQueryAdapter和多对多关系[parse.com]

Java parse listview中的ParseQueryAdapter和多对多关系[parse.com],java,android,parse-platform,Java,Android,Parse Platform,我正在开发一个android应用程序,我非常喜欢解析,并计划在未来的项目中再次使用它。所以这个应用程序是我的高级项目 第一。我尝试了多对多“\u User”关系,但无法理解查询,或者无法成功地将另一个用户添加到现有用户关系中 第二。我为每个指向其创建者的用户创建了一个“联系人”ParseObject类,我可以成功地将其他联系人添加到联系人中,这是联系人到联系人的关系,我称之为“has” 三,。现在,我可以在我的数据浏览器中看到这种关系,包括(创建、更新、删除、获取)在内的一切都进展顺利。。。但我

我正在开发一个android应用程序,我非常喜欢解析,并计划在未来的项目中再次使用它。所以这个应用程序是我的高级项目

第一。我尝试了多对多“\u User”关系,但无法理解查询,或者无法成功地将另一个用户添加到现有用户关系中

第二。我为每个指向其创建者的用户创建了一个“联系人”ParseObject类,我可以成功地将其他联系人添加到联系人中,这是联系人到联系人的关系,我称之为“has”

三,。现在,我可以在我的数据浏览器中看到这种关系,包括(创建、更新、删除、获取)在内的一切都进展顺利。。。但我的问题是#4

第四。我有一个扩展ListFragment的类,我想在我的“联系人”关系中查询ParseQueryAdapter的联系人。。。我尝试了所有的方法,我要么得到一个空指针异常,要么我的应用程序崩溃

通过使用以下代码行,我可以显示所有联系人:

ParseQueryAdapter适配器=新建 ParseQueryAdapter(getActivity(), MyContactClass.class)

但是在关系教程中尝试了所有的查询,结果没有成功。。。我理解解析逻辑,但无法理解代码实现

一个[contact]有一个-->A[List}……我想得到这个列表,有什么Java示例代码可以做到这一点吗


请并感谢:)除非我绝望,否则我不会问任何问题。

我通过不使用getInBackground(带回调)方法解决了这个问题。…我将代码修改为以下内容:

ParseQueryAdapter<ParseObject> adapter = new ParseQueryAdapter<ParseObject>(getActivity(), new ParseQueryAdapter.QueryFactory<ParseObject>() {public ParseQuery<ParseObject> create() {
                                  // Here we can configure a ParseQuery to our heart's desire.

                                    final ParseQuery<ParseObject> cUser = ParseQuery.getQuery("contact");


                                    ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("contact");
                                    try 
                                    {
                                        query=cUser.get("MyObjectIdGoesHere").getRelation("has").getQuery();
                                    } catch (ParseException e) 
                                    {
                                        e.printStackTrace();
                                    }
                                  return query;

                                }
                              });


        adapter.setTextKey("screenName");
        setListAdapter(adapter);
ParseQueryAdapter=new ParseQueryAdapter(getActivity(),new ParseQueryAdapter.QueryFactory(){public ParseQuery create()){
//在这里,我们可以根据内心的需求配置ParseQuery。
final ParseQuery cUser=ParseQuery.getQuery(“联系人”);
ParseQuery=新的ParseQuery(“联系人”);
尝试
{
query=cUser.get(“myObjectIdGoesher”).getRelation(“has”).getQuery();
}捕获(解析异常)
{
e、 printStackTrace();
}
返回查询;
}
});
adapter.setTextKey(“屏幕名”);
setListAdapter(适配器);

这真的很令人沮丧,我希望有人能从适合我的代码的解决方案中受益…

听到这个消息很遗憾。我碰巧在我的项目中打开了Parse Android Anywall项目。在这个示例项目中,可以帮助实现您的目标


我试图在这里发布代码,但不能超过stackoverflow的格式要求。

要获得建模多对多关系的好例子,请看Anypic解析教程。我认为他们使用“活动”的方式也可以很好地解决您的用例。