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

Android query.include()在ParseQueryAdapter中使用时不获取子类,android,parse-platform,Android,Parse Platform,我有子类ParseQueryAdapter来获取“Post”项(ParseObject的子类)并填充listview。Post类有一个字段“postauthor”,其中包含指向Post的创建者(ParseUser)的指针。在ParseQuery create()方法中,我创建了如下查询 @Override public ParseQuery<Post> create() { ParseQuery query = new ParseQuery("Post"); quer

我有子类ParseQueryAdapter来获取“Post”项(ParseObject的子类)并填充listview。Post类有一个字段“postauthor”,其中包含指向Post的创建者(ParseUser)的指针。在
ParseQuery create()
方法中,我创建了如下查询

@Override
public ParseQuery<Post> create() {
    ParseQuery query = new ParseQuery("Post");
    query.include("postAuthor");
    return query;
}
但是我无法使用ParseUser对象的属性(如author.getString(“name”))填充UI中的任何视图;引发空指针异常。我加了这张支票

ParseUser author = post.getParseUser("postAuthor");
if (author == null) {
        Log.i("check1", "author is null!");
}
并发现ParseUser实际上根本没有使用Post对象进行检索。我试着把它改成

ParseUser author = (ParseUser)post.getParseObject("postAuthor");
但是没有用


我是错过了什么,还是不应该这样?我是否应该改为在getItemView()中使用类似author.fetch()的东西,并从create()中删除query.include()?

有时,像User和Installation这样的内置类的行为方式会有所不同,但文档中并没有很好的说明。我不知道这是否是其中之一。我肯定会尝试
fetch
并查看它是否有效,尽管这需要对每条记录进行网络访问,这是不幸的。@nasch是的,我确实尝试过对每个项目使用
fetch
,它可以填充列表视图。但是这可能会占用我有限的免费api请求中的一大部分,不是吗?@nasch还有,我是否应该放弃ParseQueryAdapter,实现一个自定义listadapter,直接使用query.findInBackground(),最好在query.include()之后工作?如果是的话,如果你能告诉我如何使用ParseQuery实现自定义适配器,那将是非常有帮助的。我会先在查询适配器之外尝试查询-只需在你的应用程序中的某个地方运行它,不必担心列表视图,只要看看作者是否回来就可以了。然后你就会知道是否有任何理由继续这样做。是的,fetch方法将使用API请求,当然我不知道有多少。
ParseUser author = (ParseUser)post.getParseObject("postAuthor");