与Mike Penz Fastadapter一起使用Android Room时出现的问题

时间:2018-08-30 21:16:49

标签: entity android-room fastadapter

我正在尝试使用Mike Penz Fastadapter。根据{{​​3}},第一步是拥有一个模型类,该模型类从他的库中扩展“ AbstractItem”。我在“房间”实体类上这样做了,因为这是我希望在recyclerview中使用的项目:

ar-resis

我以前正常工作的实体现在抛出编译错误:

ReadMe

此相关enter image description here建议,在扩展实体上使用Room时似乎存在问题。这真是个无赖,因为Fastadapter对于N级可扩展程序来说是一个不错的解决方案。关于如何解决这个问题有什么想法吗?我可以将Room与Fastadaper一起使用吗?

我可以将项目列表复制到非数据库虚拟模型类中,但是这对我来说似乎效率很低,并且会添加膨胀代码以使数据库与虚拟模型同步...

想法很感激:-)

1 个答案:

答案 0 :(得分:1)

我发现了问题所在:这是DAO中的接收类。如果扩展了模型类,则必须将超类的其他字段设置为列信息或获取@Ignore标记,否则它们是不完整的Room实体,并且扩展的类将无法接收Room查询。

AbstractItem虽然是一个库类,并且是只读的。因此,我将内容复制到具有不同名称(“ MyAbstractItem” f.i。)的类中,并将@Ignore标记放在其他字段上。房间停止抱怨。

我不知道是否有更优雅的解决方案,你知道吗?

编辑:这里的答案不错

Android Room: Is it possible to use bounded type parameters in an entity?