我想将我的服务绑定到ListBox但我无法绑定它 //服务类
public class Service {
private String serviceName;
public Service(String serviceName) {
this.serviceName = serviceName;
}
public String getServiceName() {
return serviceName;
}
public void setServiceName(String serviceName) {
this.serviceName = serviceName;
}
}
// SignUpBean类
public class SignUpBean {
private List<Service> services;
public List<Service> getServices() {
return services;
}
public void setServices(List<Service> services) {
this.services = services;
}
}
以下是我的主编
public class SignUpEditor extends SimplePanelimplements Editor<SignUpBean> {
public ListBox services;
public void SignUpEditor (){
services.addItem("Service1");
services.addItem("Service2");
setWidget(services);
}
}
我没有收到任何错误,但我认为我必须使用ListEditor
或CompositeEditor
。但我不知道。任何人都可以建议如何将Service
绑定到ListBox
答案 0 :(得分:0)
ListBox假设是LeafValueEditor。从概念上讲,我们不会编辑ListBox中的列表。而是我们从列表中选择一个值,该值将显示在选择中。因此,ListBox只保存一个值,因此ListBox必须是叶值编辑器。
目前没有GWT支持将列表直接绑定到ListBox。我们必须编写一个扩展ListEditor的适配器(有关更多详细信息,请参阅HasDataEditor类)。这种方法很奇怪。
简单的方法是编写一个实现LeafValueEditor&lt;的适配器。列表&lt;字符串&gt;取代。在适配器的setValue方法中,我们应该迭代列表并为列表中的每个值调用listBox.addItem。
我不推荐任何一种方法,因为ListBox的LIST is NON EDITABLE
只有VALUE is EDITABLE
。我建议手动执行addItems而不使用编辑器。
更新:HasDataAdapter是一个示例ListEditor。参考该实施。你可能会有所了解。