我一直试图找到答案,但也许我没有正确地要求谷歌所以这里说:我在我的Android应用程序中有一个搜索视图,其中有顶部菜单项作为搜索输入等。我点击放大镜,然后textfield变得可以编辑搜索词。如何跳过此步骤,并且当我的活动的onCreate()方法时,搜索字段会自动获得焦点而无需单击放大镜图标?
这是我的代码:
MenuInflater inflater = new MenuInflater(SearchMedicineActivity.this);
inflater.inflate(R.menu.search_view, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
searchItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM| MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
mSearchView = (SearchView) searchItem.getActionView();
mSearchView.setOnQueryTextListener(this);
mSearchView.setIconifiedByDefault(false);
return true;
答案 0 :(得分:2)
在setIconifiedByDefault(false)
内拨打public boolean onPrepareOptionsMenu(Menu menu)
可以获得您想要的结果。如果您希望键盘可见,请尝试同时调用requestFocus()
。
答案 1 :(得分:0)
来自http://developer.android.com/reference/android/widget/SearchView.html
当在ActionBar中使用SearchView作为a的操作视图时 可折叠菜单项,默认情况下需要设置为图标化 使用
setIconifiedByDefault(true)
。这是默认值,所以没有 需要做。如果您希望搜索字段始终可见,请致电
setIconifiedByDefault(false)
。