在我的Android应用程序中,我在一个表中有一个大约1000行数据的数据库。当用户输入密钥时,我有一个自动完整的文本视图,它可以从db表中下拉相应的项目,我该怎么做呢。
数据库提取代码
public Map<String, String> getSimilarStems(String stem) {
Map<String, String> results = new LinkedHashMap<String, String>();
Cursor res = db.rawQuery("SELECT word, _id FROM words_en WHERE stems LIKE '%"+stem+" %' OR stems LIKE '"+stem+"' ORDER BY LENGTH(word) LIMIT 10", null);
while(res.moveToNext()) {
String id = res.getString(res.getColumnIndex("_id"));
String word = res.getString(res.getColumnIndex("word"));
results.put(id, word);
}
return results;
}
请任何人帮我用AutoCompleteView
绑定数据库中的数据答案 0 :(得分:1)
使用AutoCompleteView
绑定数据库中的数据
要将数据从数据库绑定到AutoCompleteView
,您需要使用Adapter来传递数据库中的所有值。
您有两个选项可用于创建适配器
1。使用默认的ArrayAdapter:
Map<String, String> allItems=getSimilarStems(<parms>);
// Create List from Map values
List<String> valueList=new ArrayList<String>(allItems.values());
// Create ArrayAdapter
ArrayAdapter adapter = new ArrayAdapter
(this,android.R.layout.simple_list_item_1,valueList);
// Set Adapter for AutoCompleteTextView
Autocompletetextview.setAdapter(adapter);