虽然键盘弹出,但未显示Android Searchview

时间:2015-05-26 07:31:11

标签: android android-fragments

我有以下代码用于searchview实现。我已经编写了searchview的监听器代码来解析片段(如果它是可见的)。点击搜索图标,片段被正确解散,但搜索视图不会显示,但键盘会弹出。再次点击搜索图标时,会出现serch textview。

以下代码是否存在任何明显问题。我错过了什么吗?

非常感谢任何帮助

mSearchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
    if (null != mSearchView) {
        mSearchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
    }

    mSearchView.setOnSearchClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            hideOverLayFragments();
        }
    });

搜索菜单代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.tcs.agilebiz.activities.HomeActivity">

<item
    android:id="@+id/action_search"
    android:icon="@android:drawable/ic_menu_search"
    android:checked="true"
    android:orderInCategory="103"
    app:showAsAction="always"
    app:actionViewClass="android.support.v7.widget.SearchView"
    android:title="Search" />

1 个答案:

答案 0 :(得分:0)

您应该像这样初始化您的SearchView

 MenuItem searchItem = menu.findItem(R.id.action_search);
 mSearchView = (SearchView) MenuItemCompat.getActionView(searchItem);