AutoCompleteTextView:下拉列表仅显示一次

时间:2014-04-10 13:14:55

标签: android autocompletetextview

我已经关注了自动完成TextView的Google教程。这是我的代码:

xml

<AutoCompleteTextView
    android:id="@+id/description"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:hint="my hint" />

java代码

 private String[] list = { "word1", "word2", "word3" };

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.tag_fragment, container, false);

        description = (AutoCompleteTextView) view
                .findViewById(R.id.description);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
                android.R.layout.simple_expandable_list_item_1, list);
        description.setAdapter(adapter);


        return view;

因此dropdown list的建议显示为only once,,但我希望each time words write inside view match的第一个字符带有列表元素。

3 个答案:

答案 0 :(得分:0)

要再次获得建议,请在选择n选项后再添加逗号(,),然后再次键入搜索。示例类型"wo"并选择下拉列表并输入逗号(word1,)并再次开始输入(word1,wo)现在它应该列出选项。

这是因为Autocomplete uses comma(,) as the delimiter

答案 1 :(得分:0)

您可以使用MultiAutoComplete Edit文本而不是AutoComplete,这样,列表将出现在您编写编辑文本的每个单词上。

AutocompleteTextView仅提供有关整个句子的建议,MultiAutoCompleteTextView为句子中的每个标记提供建议。您可以指定令牌之间的分隔符。

答案 2 :(得分:0)

使用AppCompatMultiAutoCompleteTextView并将标记生成器设置为逗号类型

autoComplete.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());