如何使搜索视图在android中始终扩展?

如何使搜索视图在android中始终扩展?,android,search,searchview,Android,Search,Searchview,我知道这个问题在这里出现过几次,但没有一个结果对我有帮助 我希望始终扩展我的SearchView。 当我进入“活动”时,它会展开,当我第一次按下“后退”按钮时,键盘会下降(没关系),当我再次按下“后退”按钮时,SearchView会关闭,而不是返回到上一个活动 这是我在活动中的代码: @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater();

我知道这个问题在这里出现过几次,但没有一个结果对我有帮助

我希望始终扩展我的SearchView。 当我进入“活动”时,它会展开,当我第一次按下“后退”按钮时,键盘会下降(没关系),当我再次按下“后退”按钮时,SearchView会关闭,而不是返回到上一个活动

这是我在活动中的代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_search_series, menu);

    // Associate searchable configuration with the SearchView
    SearchManager searchManager =
            (SearchManager) getSystemService(Context.SEARCH_SERVICE);

    // Get the SearchView item
    MenuItem item = menu.findItem(R.id.search);
    SearchView searchView = (SearchView) item.getActionView();

    searchView.setSearchableInfo(
            searchManager.getSearchableInfo(new ComponentName(this, SearchSeriesActivity.class)));

    // Make it open from the start
    item.expandActionView();

    searchView.setOnQueryTextListener(this);

    return true;
}
这是xml:

<item android:id="@+id/search"
    android:title="@string/action_search_series"
    android:icon="@mipmap/ic_search_white"
    app:showAsAction="always|collapseActionView"
    app:actionViewClass="android.support.v7.widget.SearchView" />

我尝试了所有的解决方案:

  • 将应用程序:showAsAction替换为仅“ifRoom”的“always”时,根本没有打开它
  • 将android:iconifiedByDefault设置为false或true-其中没有一个有效,代码中也没有

谢谢大家!

我遇到了与您相同的问题,我发现最好的解决方案是创建一个自定义搜索栏,而不考虑谷歌的搜索栏,因为我不仅遇到了您现在遇到的问题,还遇到了与它的样式相关的其他问题


因此,在这里查看我的解决方案可能会很有用:

幸运的是,我使用的是minSdk 15,我非常确定,经过适当的修改,您仍然可以使用它。