私には2つの入力があるアクティビティがあります。1つは都市用で、もう1つは場所用です。ユーザーが検索操作を要求するたびに、都市と場所の情報をsqliteテーブルに保存しています。
ここで、ユーザーが都市(オートサジェスト)を入力するたびに、場所のオートサジェストオプションが自動的に更新されるようにします。場所と都市の入力ウィジェットは両方ともAutoCompleteTextViewです。
これはどのように行うことができますか?
Rgds、Sapan
私には2つの入力があるアクティビティがあります。1つは都市用で、もう1つは場所用です。ユーザーが検索操作を要求するたびに、都市と場所の情報をsqliteテーブルに保存しています。
ここで、ユーザーが都市(オートサジェスト)を入力するたびに、場所のオートサジェストオプションが自動的に更新されるようにします。場所と都市の入力ウィジェットは両方ともAutoCompleteTextViewです。
これはどのように行うことができますか?
Rgds、Sapan
AutoCompleteTextViewにCursorAdapterを指定する必要があります(例:SimpleCursorAdapter)(ただし、SimpleCursorAdapterを試したときはバグがありました)。
Cursor cursor = getCityCursor();
int ids = int[]{R.id.autocomplete_list_item};
SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this,
R.layout.list_item, cursor, new String[]{DB.COL_CITIES});
AutoCompleteTextView actvCities = (AutoCompleteTextView)findViewById(R.id.cities);
actvCitites.setAdapter(cursorAdapter);
getCityCursor();
メソッドは、によって取得されたカーソルを提供する必要がありますSQLiteDatabase.query()
。
更新:前述の「バギー」SimpleCursorAdapterはそうではありません。を提供するだけCursorToStringConverter
です。dan breslauは、 AutoCompleteTextViewとSimpleCursorAdapterに関する非常に優れた記事をここに書いています。