MultiAutoCompleteTextView和AutoCompleteTextView之间的区别

时间:2011-02-03 09:06:00

标签: android user-interface autocompletetextview multiautocompletetextview

有人可以解释MultiAutoCompleteTextViewAutoCompleteTextView之间的区别吗?

4 个答案:

答案 0 :(得分:87)

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

String[] words=new String[] {
     "word1", "word2", "word3", "word4", "word5"
 };

MultiAutoCompleteTextView macTv = (MultiAutoCompleteTextView) this.findViewById(R.id.mac_tv);
ArrayAdapter<String> aaStr = new ArrayAdapter<String>(this,android.R.layout.dropdown_item,words);
macTv.setAdapter(aaStr);
macTv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer() );

<MultiAutoCompleteTextView 
android:id="@+id/mac_tv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
/>

在这个例子中,每个逗号都会出现建议。

答案 1 :(得分:68)

使用AutoCompleteTextView或MultiAutoCompleteTextView之间的选择归结为是否应允许用户仅输入适配器提供的“一个项目”或“多个项目”。

例如,如果您正在编写电子邮件应用,并且希望“收件人:”字段为自动填充字段,从地址簿中提取匹配项,您可能希望允许用户选择多个收件人一条消息,并将此字段设为MultiAutoCompleteTextView。

另一方面,同一示例电子邮件应用中的“发件人:”字段,您只需要强制用户从其配置的电子邮件帐户中进行一次选择。所以AutoCompleteTextView在这里是合适的。

答案 2 :(得分:2)

AutoCompleteTextView和MultiAutoCompleteTextView之间的区别

AutoCompleteTextView Vs MultiAutoCompleteTextView

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

AutoCompleteTextView用于选择单个项目MultiAutoCompleteTextView用于通过使用分隔符(例如逗号)来选择多个项目。

电子邮件应用示例中的“发件人:”字段,您需要仅在用户配置的电子邮件帐户中强制执行一次选择。如果您正在编写电子邮件应用程序,并且希望“收件人:”字段为自动填充字段,则从地址簿中获取匹配项,您可能希望允许用户为邮件选择多个收件人,并且会创建此字段一个MultiAutoCompleteTextView

答案 3 :(得分:1)

  • AutocompleteTextView 只提供关于整体的建议 句子
  • MultiAutoCompleteTextView 为每个令牌提供建议 句子。

您可以指定令牌之间的分隔符是什么,也可以设置第一个或任何一个。在 Android 中使用 setThreshold()MultiAutoCompeleteTextView 控件的字符数。