来自数据库的android搜索建议

时间:2013-07-24 15:00:51

标签: android uisearchbar autosuggest

我有一个数据库,我的值应该是一个可能的搜索选项。我的UI在操作栏中有一个搜索框。 现在,我想显示一个List,其中包含以搜索框中的书面字母开头的所有可能值。

每当我尝试查找教程时,我只会得到RecentSearchSuggestions,但我喜欢直接在我的主Activity中使用类似CustomCursor的内容,而不必去新的。

是否有可能实现这一目标?指向教程或一些提示的链接就足够了。

2 个答案:

答案 0 :(得分:1)

这很容易,做这样的事情:(它是伪代码)

 searchView.setOnQueryChangeListener(new OnQueryChangeListener() {

      public void onQueryChanged(String query) {
          Cursor suggestions = dbHelper.getSuggestionsByQuery(query); 
          //dbHelper is object that handles interactions with your DB
          SimpleCursorAdapter suggestionsAdapter = new SimpleCursorAdapter ... ;
          searchView.setSuggestionsAdapter(suggestionsAdapter);
      }
 });

答案 1 :(得分:0)

为什么不在调用onTextChanged时向您的数据库发出查询?你可以这样做:

 SELECT values_table.values
 FROM values_table
 WHERE values LIKE 'parameter%'

然后,您可以将这些结果转储到搜索建议框中,但是您认为合适。此外,您可以尝试阅读this article,这似乎提供了有关如何实施自定义搜索建议的大量详细信息。