В основном это проблема именования: после изменения имени поля с mDay на day и соответствующего переименования установщика / получателя все компилируется.
Похоже, что имена методов, которые генерирует Android Studio из mDay , не являются теми, которые ищет Room.
Поскольку вы можете использовать разные имена полей в родительском классе, это выглядит как лучшее решение.
Если невозможно изменить библиотеку, особенно невозможно пометить поля в классе библиотеки с помощью Ignore
, поэтому невозможно решить проблему, вставив промежуточный класс в иерархию наследования. (Я пытался использовать конструктор для EventDetails
с закрытым полем в качестве аргумента, но это тоже не сработало)
Так что в этом случае я думаю, что вашим лучшим вариантом было бы не пытаться расширяться от класса библиотеки (но, возможно, от некоторого класса «суррогатного родителя») и ликвидировать разрыв с классом библиотеки с помощью некоторого класса фабрики. .