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内部で を使用する独自のクラスを設計する必要があります。

于 2012-06-29T10:10:15.123 に答える
0

uf 見つけました。InAutoCompleteTextFieldは、デフォルト値が falseAutoCompleteSettingであるプロパティですsetShowListOnEmptyInput

だから私は作成します:

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

そしてそれは動作します:)

于 2012-06-29T14:58:46.020 に答える