当我键入以“W”开头的位置时,相关位置将在下面列出。但是如果我删除已经输入的位置,然后输入一个不同的以“L”开头的位置,那么列表将首先显示以前列出的旧位置的选项(以“W”开头的位置),然后列出与新位置相关的选项。
因此,自动完成列表显示以“W”开头的位置,然后显示以“L”开头的位置。我还尝试将options.removeAll();作为filter方法中的第一个语句。
AutoCompleteTextField ac = new AutoCompleteTextField(options) {
protected boolean filter(String add) {
options.removeAll();
if(add.length() == 0) {
return false;
}
String[] l = searchLocations(add);
if(l == null || l.length == 0) {
return false;
}
for(String s : l) {
options.addItem(s);
}
return true;
}
};
//ac.setMinimumElementsShownInPopup(1);
ac.setMinimumLength(1);
Container c = stateMachine.findContainer(form);
AutoCompleteTextField oldac = (AutoCompleteTextField) stateMachine.findAddress(c);
c.replace(oldac, ac, null);谢谢!!
发布于 2016-07-25 11:26:45
查看this live sample,这个问题不会在这里发生,所以我猜测先前存在的结果的问题与您修改模型的方式有关。
https://stackoverflow.com/questions/38558118
复制相似问题