我已经将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()吗?