AutoCompleteView从数据库加载数据

时间:2015-02-01 03:14:58

标签: android sqlite autocompletetextview

在我的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

绑定数据库中的数据

1 个答案:

答案 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);
  1. 使用Map创建自定义适配器以显示自动完成文本。请参阅以下教程:
  2. AutocompleteTextView with Custom Adapter