1

我一直在试图找到答案,但也许我没有正确地询问谷歌,所以就这样吧:我的 android 应用程序中有一个搜索视图,它的顶部菜单项作为搜索输入等。我点击放大镜,然后文本字段变为可编辑的搜索词。如何跳过此步骤并使其在我的活动的 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;
4

2 回答 2

2

setIconifiedByDefault(false)在里面调用public boolean onPrepareOptionsMenu(Menu menu)应该会给你你想要的结果。如果您希望键盘可见,请尝试调用requestFocus()

于 2013-04-19T14:00:15.390 回答
0

来自http://developer.android.com/reference/android/widget/SearchView.html

当 SearchView 在 ActionBar 中用作可折叠菜单项的操作视图时,默认情况下需要使用setIconifiedByDefault(true). 这是默认设置,因此无需执行任何操作。

如果您希望搜索字段始终可见,请调用 setIconifiedByDefault(false).

于 2013-04-10T13:53:32.807 回答