在ParseQueryAdapter中使用时,query.include()不获取子类

时间:2015-06-16 18:15:08

标签: android parse-platform

我已经将ParseQueryAdapter子类化为获取&#34; Post&#34; items(ParseObject的子类)并填充listview。 Post类有一个字段&#34; postauthor&#34;其中包含指向帖子(ParseUser)创建者的指针。在ParseQuery<Post> create()方法中,我将查询创建为

@Override
public ParseQuery<Post> create() {
    ParseQuery query = new ParseQuery("Post");
    query.include("postAuthor");
    return query;
}

现在,我希望每个&#34; Post&#34; getItemView()方法中的对象,用于在其&#34; postAuthor&#34;中包含ParseUser。 Parse.com为documented提供无法进一步网络访问的字段。

@Override
public View getItemView(Post post, View v, ViewGroup parent)  {
    ...
    ParseUser author = post.getParseUser("postAuthor");
    ...
}

但我无法使用ParseUser对象中的属性填充UI中的任何视图,例如author.getString(&#34; name&#34;);抛出空指针异常。我添加了这张支票

ParseUser author = post.getParseUser("postAuthor");
if (author == null) {
        Log.i("check1", "author is null!");
}

并且发现确实没有使用Post对象检索ParseUser。我尝试将其更改为

ParseUser author = (ParseUser)post.getParseObject("postAuthor");

但无济于事。

我在这里遗漏了什么或是不是应该以这种方式工作?我应该改为在getItemView()中使用类似author.fetch()的东西,而是从create()中删除query.include()吗?

0 个答案:

没有答案