如何使SearchView始终在android中扩展?

时间:2017-03-23 21:11:51

标签: android search searchview

我知道这个问题曾在这里发生过几次,但结果都没有帮助我。

我想保持我的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" />

我尝试了所有解决方案:

  • 将app:showAsAction更换为&#34;始终&#34;只有&#34; ifRoom&#34;根本没打开它。
  • 将android:iconifiedByDefault设置为false或true - 它们不起作用,也不在代码中。

谢谢!

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我发现在我的情况下,最好的解决方案是创建一个自定义搜索栏,而不考虑Google的问题,因为,不仅我有你现在遇到的问题,还有其他与造型有关的问题。

所以,在这里查看我的解决方案可能很有用:Styling Search View on Android (min21)