web-dev-qa-db-ja.com

1文字でもオートコンプリート検索android

AutoCompleteウィジェットを使用しています。 2文字の検索では正常に機能しますが、1文字では機能しません。ユーザーが1文字しか入力しなくても、作業を自動完了させたい。

たとえば、「1」と入力すると、「1」で始まるすべてのリストが表示されます。これで、「12」などの2文字の候補リストが表示されます。

コード:

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
35
Sunny

CompletionThresholdを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

87
Jacob Phillips

しきい値を1にして、最初の文字から始まるようにします。あなたはそれを使用してそれを行うことができます:

mAutoCompleteTextView.setThreshold(1); 
9
Sreekumar SH