我正在为我的应用实施搜索查看。以下是我设置我的搜索视图的方法:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
this.menu = menu;
// Associate searchable configuration with the SearchView
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
MenuItem searchItem = menu.findItem(R.id.search);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String query) {
loadHistory(query);
return true;
}
});
return true;
}
我想在用户开始输入时向用户显示搜索建议。我可以使用listview执行此操作:
private void loadHistory(String query) {
// query db etc...
SearchManager manager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
final SearchView search = (SearchView) menu.findItem(R.id.search).getActionView();
search.setSuggestionsAdapter(new ExampleAdapter(this, cursor, items));
}
但是假设我不想将搜索建议显示为列表视图,并在自定义视图中显示它们,我可以在其中添加更多内容,然后只搜索建议。例如,我想显示以下自定义视图而不是建议搜索列表视图:
我该怎么做?有一个设置建议适配器setSuggestionsAdapter(adapter)
的功能,但我找不到像setCustomSuggestionsView(view)
这样的函数。
感谢。