有人可以解释MultiAutoCompleteTextView
和AutoCompleteTextView
之间的区别吗?
答案 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
控件的字符数。