Android AutoCompleteTextView更新

时间:2011-05-31 07:25:40

标签: android autosuggest autocompletetextview

我有一个有两个输入的活动:一个用于城市,另一个用于位置。每当用户请求搜索操作时,我都将城市和位置信息存储在sqlite表中。

现在,我希望每当用户输入城市(这是一个自动提示)时,位置中的自动提示选项应自动更新。位置和城市的输入小部件都是AutoCompleteTextView。

如何做到这一点?

RGDS, 萨班

1 个答案:

答案 0 :(得分: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()获得的游标。

更新:前面提到的“buggy”SimpleCursorAdapter不是。只需提供一个CursorToStringConverterdan breslau写了一篇非常好的article about AutoCompleteTextView and the SimpleCursorAdapter here