Я реализовал ChangedHandler
интерфейс и переопределил onChanged
метод.
public class ActionHandler implements ChangedHandler {
@Override
public void onChanged(ChangedEvent event) {
FormItem formItem = event.getItem();
DynForm parent = (DynForm) event.getForm();
performAction(parent);
}
}
В приведенном выше коде, если событие изменения связано с логическим полем (виджет - флажок), я получаю тот же экземпляр DynForm (в родительской переменной), который я отображал в представлении (то, чтоожидать).Но когда ActionHandler связан с другими типами полей, такими как виджет типа string
или selection
, я получаю новый экземпляр DynForm (в родительской переменной).
Это ошибка или есть какая-то причина для этого различия для одного и того же события с другим типом виджета?
На самом деле я расширил DynForm, и в этом классе я установил некоторые параметры, которые мне требуются (в моей функции performAction
), в то время как другой formItem запускает свое событие.
Итак, мне требуется один и тот же экземпляр DynForm, который отображается в представлении, во всех случаях, когда это событие вызывается, возможно ли это?
Спасибо.