0

这是我对 autocompleteField 的实现:

        add(new AutoCompleteTextField<String>("hladaneSlovo") {

            private static final long serialVersionUID = 1L;

            @Override
            protected Iterator<String> getChoices(String prefix) {
                return hladaneSlova.startsWith(prefix).iterator();
            }

        });

我的 arrayList 中的方法 startWith 看起来像:

public List<String> startsWith(String prefix) {
    if (prefix == null || prefix.isEmpty()) {
        return this;
    } else {
        List<String> list = new LinkedList<String>();
        for (String s : this) {
            if (s.startsWith(prefix)) {
                list.add(s);
            }
        }
        return list;
    }
}

所以我想在字段为空但此实现不起作用时获取所有值。你能帮助我吗 ?

4

2 回答 2

1

代码看起来不错。您可能希望trim()在检查之前额外添加字符串isEmpty(),也许周围只有一些杂散的空格。顺便说一句,子类化java.util.ArrayList是一个坏主意。您应该设计自己的在List内部使用 a 的类。

于 2012-06-29T10:10:15.123 回答
0

我找到了。InAutoCompleteTextField是默认值为 falseAutoCompleteSetting的属性在哪里setShowListOnEmptyInput

所以我创建:

        AutoCompleteSettings settings = new AutoCompleteSettings();
        settings.setShowListOnEmptyInput(true);

它工作:)

于 2012-06-29T14:58:46.020 回答