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