我在我的Android应用中使用searchview和 我想添加一个用户按下以开始搜索的按钮 。根据我在互联网上阅读的内容,我可以使用setSubmitButtonEnabled
来调用提交按钮,而不是在布局文件中放置按钮。这是我的代码:
public void setSubmitButtonEnabled (boolean enabled) {
}
我将setSubmitButtonEnabled放在菜单inflater中,如下所示:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mylist, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false);
setSubmitButtonEnabled(true);
return true;
}
显然我做得不对,因为当我启动我的应用程序时,我在屏幕上看不到任何提交按钮。我的代码中缺少什么或出了什么问题?提交按钮应该出现在键盘上还是屏幕上?谢谢。
答案 0 :(得分:6)
您需要致电
searchView.setSubmitButtonEnabled(true)
为什么你会创建自己没有身体的版本,并期望它做任何事情?
答案 1 :(得分:0)
为此用途
searchView=findViewById(R.id.search_box);
searchView.setSubmitButtonEnabled(true);
要使用提交按钮图标
app:goIcon="@drawable/ic_arrow_forward_black_24dp"
对于SearchView默认扩展
app:iconifiedByDefault="false"