我在我的Android应用中使用了searchview,并且 我想添加一个按钮,让用户按下开始搜索。. 根据我在网上读到的信息,我可以用... setSubmitButtonEnabled
来调用一个提交按钮,而不是在布局文件中放置一个按钮。这是我的代码。
public void setSubmitButtonEnabled (boolean enabled) {
}
我把我的setSubmitButtonEnabled放在菜单膨胀器中,如下图。
@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;
}
显然我做得不对,因为当我启动我的应用程序时,我没有在屏幕上看到任何提交按钮。我的代码中少了什么或有什么问题?提交按钮应该出现在键盘上还是屏幕上?谢谢你了。
你需要调用
searchView.setSubmitButtonEnabled(true)
为什么你要自创一个没有正文的版本,还指望它能做什么?
对于这个用途
searchView=findViewById(R.id.search_box);
searchView.setSubmitButtonEnabled(true);
提交按钮图标使用
app:goIcon="@drawable/ic_arrow_forward_black_24dp"
对于SearchView默认展开
app:iconifiedByDefault="false"