我有一個活動,它有兩個輸入:一個用於城市,另一個用於位置。每當用戶請求搜索操作時,我都會在sqlite表中存儲城市和位置信息。Android AutoCompleteTextView更新
現在,我希望每當用戶輸入城市(這是一個自動建議)時,位置中的自動提示選項應該會自動更新。位置和城市的輸入小部件都是AutoCompleteTextView。
這怎麼辦?
RGDS, 薩班
我有一個活動,它有兩個輸入:一個用於城市,另一個用於位置。每當用戶請求搜索操作時,我都會在sqlite表中存儲城市和位置信息。Android AutoCompleteTextView更新
現在,我希望每當用戶輸入城市(這是一個自動建議)時,位置中的自動提示選項應該會自動更新。位置和城市的輸入小部件都是AutoCompleteTextView。
這怎麼辦?
RGDS, 薩班
你只需要提供一個CursorAdapter到AutoCompleteTextView,例如一個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()
獲得的光標。
更新:我之前提到的「buggy」SimpleCursorAdapter不是。只需提供一個CursorToStringConverter
。 dan breslau寫了個不錯的article about AutoCompleteTextView and the SimpleCursorAdapter here。