Редактор GWT использует IsEditor<LeafValueEditor <Date >> для заполнения поля Long
Я только что освоил использование Editor framework
и я портирую все свои формы, чтобы использовать его. У меня проблемы с моим Event
форма. У меня 5 разных time fields
- для каждого поля я использую DateBox
чтобы позволить пользователю выбрать время.
В моем старом Activity
я преобразовал значения этих полей в Long
раз, заселенный мой proxy object
и сохранил это.
Я хочу сделать то же самое, используя Editor framework
, В любом случае я могу использовать Editor
с DateBox
заселить Long
поле в моем доменном объекте. Я уверен, что должен быть способ сделать это, я просто не могу понять это.
Если это не так, и я просто не могу сделать это сейчас, кто-нибудь знает хорошее решение, как это сделать?
1 ответ
Вы должны обернуть DateBox
в Editor<Long>
, Что-то вроде:
@Editor.Ignore
@UiField
DateBox dateField;
LeafValueEditor<Long> longField = new LeafValueEditor<Long>() {
@Override
public Long getValue() {
Date date = dateField.getValue();
return date == null ? null : date.getTime();
}
@Override
public void setValue(Long value) {
Date date = value == null ? null : new Date(value.longValue());
dateField.setValue(date);
}
}