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
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
しきい値を1にして、最初の文字から始まるようにします。あなたはそれを使用してそれを行うことができます:
mAutoCompleteTextView.setThreshold(1);