Автозаполнение поиска даже на одном персонаже Android - PullRequest
34 голосов
/ 01 апреля 2012

Я использую AutoComplete виджет. Он отлично работает для поиска двух символов, но не работает для одного символа. Я хочу автоматически завершить работу, даже если пользователь вводит только один символ.

Например, когда я ввожу «1», все списки должны начинаться с «1». Теперь отображается список предложений для 2 символов, например, «12».

Код:

zip.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {
                String url = "xxxxxxxxxxxxxxxxxxxxxxx";
                String from = "zip";
                new GetAutoComplete(url, from).execute();// getting list

            }
        }
    });



ArrayAdapter<Integer> aa = new ArrayAdapter<Integer>(
                MyActivity.this, R.layout.list_item_of_zip,
                zip_codes);
            zip.setAdapter(aa); // zip = autocomplete widget and zip_codes = arrayList

Ответы [ 2 ]

84 голосов
/ 01 апреля 2012

Установите свой предел завершения в 1.

<AutoCompleteTextView 
    android:id="@+id/your_id" 
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:completionThreshold="1" />

Или для динамического использования используйте mAutoCompleteTextView.setThreshold(1).

http://developer.android.com/reference/android/widget/AutoCompleteTextView.html

8 голосов
/ 01 апреля 2012

Делает порог единым, так что он начинается с первой буквы. Вы можете сделать это используя:

mAutoCompleteTextView.setThreshold(1); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...