2011-05-31 70 views
0

我有一個活動,它有兩個輸入:一個用於城市,另一個用於位置。每當用戶請求搜索操作時,我都會在sqlite表中存儲城市和位置信息。Android AutoCompleteTextView更新

現在,我希望每當用戶輸入城市(這是一個自動建議)時,位置中的自動提示選項應該會自動更新。位置和城市的輸入小部件都是AutoCompleteTextView。

這怎麼辦?

RGDS, 薩班

回答

1

你只需要提供一個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不是。只需提供一個CursorToStringConverterdan breslau寫了個不錯的article about AutoCompleteTextView and the SimpleCursorAdapter here