我有一个包含我的值的数据库,应该是一个可能的搜索选项。我的 UI 在操作栏中有一个搜索框。现在我想显示一个列表,其中包含所有可能的值,这些值以搜索框中的书面字母开头。
每当我试图找到一个教程时,我只会得到RecentSearchSuggestions
,但我喜欢直接在我的主 Activity 中使用 CustomCursor 之类的东西,而不必去新的。
有没有可能做到这一点?一个教程链接或一些提示就足够了。
我有一个包含我的值的数据库,应该是一个可能的搜索选项。我的 UI 在操作栏中有一个搜索框。现在我想显示一个列表,其中包含所有可能的值,这些值以搜索框中的书面字母开头。
每当我试图找到一个教程时,我只会得到RecentSearchSuggestions
,但我喜欢直接在我的主 Activity 中使用 CustomCursor 之类的东西,而不必去新的。
有没有可能做到这一点?一个教程链接或一些提示就足够了。
这很容易,做这样的事情:(它是伪代码)
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);
}
});
为什么不在调用时向您的数据库发出查询onTextChanged
?您可以执行以下操作:
SELECT values_table.values
FROM values_table
WHERE values LIKE 'parameter%'
然后,您可以将这些结果转储到您认为合适的搜索建议框中。此外,您可以尝试阅读这篇文章,该文章似乎提供了有关如何实施自定义搜索建议的大量细节。