解析listview中的ParseQueryAdapter和多对多关系[Parse.com]

时间:2014-03-05 01:28:30

标签: java android parse-platform

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

第一。我尝试了多对多的“_User”关系,但无法弄清楚查询或无法成功将其他用户添加到现有用户关系。

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

第三。现在我可以在我的数据浏览器中看到关系,包括(创建,更新,删除,获取)在内的所有内容都很棒......但我的问题是#4!

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

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

  

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

但是尝试了关系教程中的所有查询并且它没有成功...我理解Parse逻辑但是无法弄清楚代码实现...

[联系人]有---> a [List} ......我想获得那个列表,任何Java示例代码都可以做到这一点吗?

请,谢谢你:)除非我绝望,否则我永远不会问一个问题......

2 个答案:

答案 0 :(得分:2)

我能够通过不使用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);

真的很令人沮丧,我希望有人可以从符合我代码的解决方案中受益......

答案 1 :(得分:0)

很抱歉听到这个消息。我偶然用我的项目打开了Parse Android Anywall Project。在此示例项目中,following code可以帮助您实现目标。

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