我正在尝试使用Mike Penz Fastadapter。根据{{3}},第一步是拥有一个模型类,该模型类从他的库中扩展“ AbstractItem”。我在“房间”实体类上这样做了,因为这是我希望在recyclerview中使用的项目:
ar-resis
我以前正常工作的实体现在抛出编译错误:
此相关建议,在扩展实体上使用Room时似乎存在问题。这真是个无赖,因为Fastadapter对于N级可扩展程序来说是一个不错的解决方案。关于如何解决这个问题有什么想法吗?我可以将Room与Fastadaper一起使用吗?
我可以将项目列表复制到非数据库虚拟模型类中,但是这对我来说似乎效率很低,并且会添加膨胀代码以使数据库与虚拟模型同步...
想法很感激:-)
答案 0 :(得分:1)
我发现了问题所在:这是DAO中的接收类。如果扩展了模型类,则必须将超类的其他字段设置为列信息或获取@Ignore标记,否则它们是不完整的Room实体,并且扩展的类将无法接收Room查询。
AbstractItem虽然是一个库类,并且是只读的。因此,我将内容复制到具有不同名称(“ MyAbstractItem” f.i。)的类中,并将@Ignore标记放在其他字段上。房间停止抱怨。
我不知道是否有更优雅的解决方案,你知道吗?
编辑:这里的答案不错
Android Room: Is it possible to use bounded type parameters in an entity?