我在文本框中通过选择组合框分别将文本字段与指定数据绑定。关键是在第一次绑定过程之后,您无法删除效果。我选择绑定登录,这会绑定一个带登录的文本框。然后我想绑定电子邮件,然后我开发了两个列表,登录和电子邮件。
@FXML
public void setToSearch() {
if(comboSettingsSearch.getSelectionModel().getSelectedIndex() == 1)
TextFields.bindAutoCompletion(textSearchPerson, Database.loadLogins());
if(comboSettingsSearch.getSelectionModel().getSelectedIndex() == 5)
TextFields.bindAutoCompletion(textSearchPerson, Database.loadEmails());
}
登录下方,以及电子邮件之上。有谁知道如何消除这种影响?
答案 0 :(得分:1)
如果你这样做,
@FXML
public void setToSearch() {
if(comboSettingsSearch.getSelectionModel().getSelectedIndex() == 1)
AutoCompletionBinding<String> acbLogin = TextFields.bindAutoCompletion(textSearchPerson, Database.loadLogins());
if(comboSettingsSearch.getSelectionModel().getSelectedIndex() == 5)
AutoCompletionBinding<String> acbEmail = TextFields.bindAutoCompletion(textSearchPerson, Database.loadEmails());
}
你可以用
处理绑定acbLogin.dispose();
acbEmail.dispose();
答案 1 :(得分:0)
这是对此帖子的最新回复,但是,我发现它显然没有用,因为未选中它。它对我也不起作用,但是两周后我发现了原因。
如果将类型作为声明的一部分,上述建议的声明和初始化将不起作用。您需要从声明中删除类型,然后.dispose()方法将起作用。
这不起作用:
AutoCompletionBinding<String> acbLogin = TextFields.bindAutoCompletion(textSearchPerson, Database.loadLogins());
这样做:
AutoCompletionBinding acbLogin = TextFields.bindAutoCompletion(textSearchPerson, Database.loadLogins());
答案 2 :(得分:0)
AutoCompletionBinding acb = TextFields.bindAutoCompletion(txtfield,arraylistobj);
acb=null;