Следующая процедура описывает, как настроить AutoCompleteTextView, который предоставляет предложения из массива, используя ArrayAdapter:
1 - Добавьте AutoCompleteTextView в свой макет. Вот макет только с текстовым полем:
<?xml version="1.0" encoding="utf-8"?>
<AutoCompleteTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/autocomplete_country"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
2 - Определить массив, содержащий все текстовые предложения. Например, вот массив названий стран, определенных в файле ресурсов XML (res / values / strings.xml):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="countries_array">
<item>Afghanistan</item>
<item>Albania</item>
<item>Algeria</item>
<item>American Samoa</item>
<item>Andorra</item>
<item>Angola</item>
<item>Anguilla</item>
<item>Antarctica</item>
...
</string-array>
</resources>
3 - В своей Деятельности или Фрагменте используйте следующий код, чтобы указать адаптер, который предоставляет предложения:
// Get a reference to the AutoCompleteTextView in the layout
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country);
// Get the string array
String[] countries = getResources().getStringArray(R.array.countries_array);
// Create the adapter and set it to the AutoCompleteTextView
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, countries);
textView.setAdapter(adapter);
Здесь новый ArrayAdapter инициализируется для привязки каждого элемента в строковом массиве COUNTRIES к TextView, который существует в макете simple_list_item_1 (это макет, предоставляемый Android, который обеспечивает стандартное отображение текста в списке).
Затем назначьте адаптер для AutoCompleteTextView, вызвав setAdapter ().