Связывание TableViewer с моделью, которая расширяется несколькими другими моделями
У меня есть класс File
который расширяется двумя другими классами CopyFile
а также DeleteFile
,
class File {
private String filePath;
/** Setters and getters **/
}
class CopyFile {
private String destinationPath;
/**setters and getters**/
}
class DeleteFile {
}
Теперь я пытаюсь привязать это к просмотрщику таблицы:
ViewerSupport.bind(tableViewer, new WritableList(realm,
fileDetailsList, File.class),PojoProperties.values(File.class,
new String[] { "filePath","destinationPath"}));
Я хочу показать destinationPath, когда файл является экземпляром CopyFile
а также null
или же ""
когда это пример DeleteFile
,
Но когда я запускаю это, он выдает ошибку:
Не удалось найти свойство с именем destinationPath в классе File
Пожалуйста, помогите мне с этим и расскажите, как реализовать DataBinding в случае наследования.
1 ответ
Обратите внимание, что когда вы связываете File.class
свойство не будет найдено, так как оно использует отражение и свойство принадлежит CopyFile.class
, связывание выполняется с Бобами или POJO, чтобы наблюдать их детали.