如http://blog.parse.com/2013/05/30/parse-on-android-just-got-classier/所示,Parse现在支持ParseObject的子类化。当我尝试将检索到的List
对象的Post
从查询中“固定”到缓存时,我的问题浮出水面。Post
是ParseObject
的子类
ParseQuery<Post> query = ParseQuery.getQuery(Post.class);
query.orderByDescending("updatedAt");
// Gets all posts from Parse.
query.findInBackground(new FindCallback<Post>() {
@Override
public void done(final List<Post> posts, ParseException e) {
if (e != null) {
// There was an error or the network wasn't available.
return;
}
// Nothing to update.
if (posts.size() == 0) {
return;
}
// Add the latest Posts from this query to the local cache.
Post.pinAllInBackground(POST_CACHE_LABEL, posts);
updateMapFromCache();
}
});
ParseObject.pinAllInBackground()
仅接受List<ParseObject>
,不接受List<?>
,这现在给我造成了问题。除了遍历List<Post>
并将其单独固定之外,还有人对此有解决方案吗?谢谢你的帮助!
最佳答案
这不是一个答案,但我没有足够的仓库来发表评论。
一旦PraseObject的子类的对象存储在本地数据存储中,我就会遇到同样的问题。
我可以在应用程序运行时检索它,一旦应用程序重新启动,我从类似于上面的查询中得到的是ParseObject的列表,而不是我的自定义对象的列表。
现在,我要做的是创建一个自定义解析器,以重新创建自定义实现的对象。但这违反了“http://blog.parse.com/2013/05/30/parse-on-android-just-got-classier/”中指示的目的。