0

私には2つの入力があるアクティビティがあります。1つは都市用で、もう1つは場所用です。ユーザーが検索操作を要求するたびに、都市と場所の情報をsqliteテーブルに保存しています。

ここで、ユーザーが都市(オートサジェスト)を入力するたびに、場所のオートサジェストオプションが自動的に更新されるようにします。場所と都市の入力ウィジェットは両方ともAutoCompleteTextViewです。

これはどのように行うことができますか?

Rgds、Sapan

4

1 に答える 1

1

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に関する非常に優れた記事をここに書いています。

于 2011-06-14T14:34:38.987 に答える