当添加新联系人时,它的ID从未设置。因为id字段是一个字符串,所以它存储为“”。这是如何添加第一个联系人。现在,每次创建新联系人时,都会使用键覆盖联系人“”。要解决这个问题,你需要设置id的值。我通过更改EditContactsPresenter中的doSave方法来做到这一点。
private void doSave() {
contact.setFirstName(display.getFirstName().getValue());
contact.setLastName(display.getLastName().getValue());
contact.setEmailAddress(display.getEmailAddress().getValue());
if(History.getToken.equals("add")
rpcService.updateContact(contact, new AsyncCallback<Contact>() {
public void onSuccess(Contact result) {
eventBus.fireEvent(new ContactUpdatedEvent(result));
}
public void onFailure(Throwable caught) {
Window.alert("Error updating contact");
}
});
else
rpcService.updateContact(contact, new AsyncCallback<Contact>() {
public void onSuccess(Contact result) {
eventBus.fireEvent(new ContactUpdatedEvent(result));
}
public void onFailure(Throwable caught) {
Window.alert("Error updating contact");
}
});
}
你写出来的源代码,自己或你在运行Contacts2.zip文件中提供的代码吗? – dgrant 2010-08-05 00:07:45
我正在运行Contacts2.zip代码。根本没有变化。 – Lumpy 2010-08-05 10:14:28