Gwt 通过包装NullableListEditor实现NullableSetEditor

Gwt 通过包装NullableListEditor实现NullableSetEditor,gwt,gwt-editors,Gwt,Gwt Editors,我有一个工作的NullableStringListEditor实现: public class NullableStringListEditor extends Composite implements IsEditor<OptionalFieldEditor< List<String>, ListEditor<String, StringEditor> >> {...} 第113行:chain.attach(值,子编辑器); 链似乎总是空的 我

我有一个工作的NullableStringListEditor实现:

public class NullableStringListEditor extends Composite implements IsEditor<OptionalFieldEditor< List<String>, ListEditor<String, StringEditor> >> {...}
第113行:chain.attach(值,子编辑器); 链似乎总是空的


我做错什么了吗?谢谢

如果
NullableStringSetEditor
LeafvalueEditor
,则编辑器框架生成器将忽略
wrappedEditor
,因此不会初始化和填充


您可能希望遵循
选项编辑器
模式,让您的编辑器成为
复合编辑器
(除了成为
叶值编辑器

谢谢。我现在非常接近,现在唯一的问题是flush()之后值不会更新。我在下面将这些代码作为一个新的回应。谢谢你的帮助!嗨,托马斯,不幸的是,我仍然不知道如何使更新适用于NullableStringSetEditor。尽管wrappedEditor中包含的值已更改,但在flush()之后未更新任何值。你有什么线索吗?谢谢!
public class NullableStringSetEditor extends Composite implements ValueAwareEditor<Set<String>>, LeafValueEditor<Set<String>> {
private NullableStringListEditor wrappedEditor = new NullableStringListEditor();

    @Override
    public void setValue(Set<String> values) {
        List<String> list = wrappedEditor.asEditor().getValue();
        some null checking... 
        list.clear();
        list.addAll(values);
        wrappedEditor.asEditor().setValue(list); // will call setValue of OptionalFieldEditor from here
    }
}
java.lang.NullPointerException: null at com.google.gwt.editor.client.adapters.OptionalFieldEditor.setValue(OptionalFieldEditor.java:113)