Кто-нибудь может объяснить разницу между MultiAutoCompleteTextView
и AutoCompleteTextView
?
Разница между MultiAutoCompleteTextView и AutoCompleteTextView
Ответы (4)
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"
/>
в этом примере предложение ставится после каждой запятой.
Выбор между использованием AutoCompleteTextView или MultiAutoCompleteTextView сводится к тому, следует ли разрешить пользователю вводить только «один элемент», предоставляемый адаптером, или «несколько элементов».
Так, например, если вы пишете приложение электронной почты и хотите, чтобы поле «Кому:» было полем автозаполнения, извлекая совпадения из адресной книги, скорее всего, вы хотите разрешить пользователю выбирать нескольких получателей для сообщения, и сделал бы это поле MultiAutoCompleteTextView.
С другой стороны, в поле «От:» в том же примере почтового приложения вам нужно будет обеспечить только один выбор пользователем из его настроенных учетных записей электронной почты. И поэтому AutoCompleteTextView здесь был бы уместен.
Разница между AutoCompleteTextView и MultiAutoCompleteTextView
AutoCompleteTextView и MultiAutoCompleteTextView
AutocompleteTextView предлагает предложения только для всего предложения. MultiAutoCompleteTextView предлагает предложения для каждого токена в предложении. Вы можете указать, что является разделителем между токенами.
AutoCompleteTextView используется для выбора одного элемента. MultiAutoCompleteTextView используется для выбора нескольких элементов с использованием разделителя (например, запятой) между ними.
поле «От:» в примере приложения электронной почты, вам нужно будет обеспечить только один выбор пользователем из его настроенных учетных записей электронной почты. Если вы пишете приложение электронной почты и хотите, чтобы поле «Кому:» было полем автозаполнения, получая совпадения из адресной книги, возможно, вы хотите разрешить пользователю выбирать нескольких получателей для сообщения и сделать это поле MultiAutoCompleteTextView
AutocompleteTextView
предлагает предложения только по всему предложениюMultiAutoCompleteTextView
предлагает варианты для каждой лексемы в предложении.
Вы можете указать, какой разделитель между токенами, также установить первый или любой нет. символов с использованием setThreshold()
с управлением MultiAutoCompeleteTextView
в Android.