我想通过包含EditText和按钮的水平LinearLayout来创建自定义SearchView . EditText是用户输入搜索查询的位置 .
通常当我们使用SearchView时,我们
-
通过将其配置为在清单中接收
ACTION_SEARCH
intent来声明可搜索的活动 . -
使用清单中的元元素声明我们的可搜索配置文件 .
-
通过配置SearchView,启用系统辅助搜索(系统将搜索查询提供给可搜索的活动,提供语音搜索,显示搜索建议等) . 这是通过传递一个
SearchableInfo
对象来完成的:
SearchManager searchManager =(SearchManager)getSystemService(Context.SEARCH_SERVICE); SearchView searchView =(SearchView)menu.findItem(R.id.menu_search).getActionView(); //假设当前活动是可搜索的活动searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
The question is that can I use the custom search widget (the LinearLayout with Edittext and Button) I have described, and still enable system-assisted search (by some way like the one described above) for it?
1 回答
您可以监听编辑文本的addTextChangedListener,并在每个更改检查项目列表中的查询字符串 .