SearchView setIconified(false) 自动调用搜索视图的焦点。我怎样才能禁用它?

SearchView setIconified(false) automatically calls the focus for the searchview. How can I disable this?

我有以下代码:

  if(mSearchView != null){
        mSearchView.setIconifiedByDefault(false);
        mSearchView.setIconified(false);
        mSearchView.setOnQueryTextListener(this);
        int searchPlateId = mSearchView.getContext().getResources()
                .getIdentifier("android:id/search_plate", null, null);
        View searchPlateView = mSearchView.findViewById(searchPlateId);
        if (searchPlateView != null) {
            searchPlateView.setBackgroundColor(getResources().getColor(R.color.white));
        }
    }

问题是当我在 serachview 上设置 Iconified(false) 时,键盘弹出,我不希望这种情况发生。有可能以某种方式防止这种情况吗? PS:我在清单中有这个:

 android:windowSoftInputMode="adjustNothing|stateHidden"

也可以在 onCreate 中以编程方式执行,但运气不好

我改用了edittext,自己做了搜索图标和关闭图标的功能。这样,我就不必将 "setIconifiedByDefault" 设置为编辑文本。它解决了我所有的问题

试试这个:

searchView.setFocusable(false);
searchView.setIconified(false);
searchView.clearFocus();

我也遇到了同样的问题。我在这个问题上花了很多时间,最后我创建了一个隐藏在 xml 中的虚拟 EditText,并请求关注 java 代码

中的编辑文本
    mSearchView.setFocusable(false);
    mSearchView.setIconified(false);
    mSearchView.clearFocus();
    EditText editText = (EditText) findViewById(R.id.dummy);
    editText.requestFocus();

希望对大家有所帮助

    searchView.setFocusable(false);
    searchView.setIconified(false);
    searchView.clearFocus();

以编程方式删除所有字段,如

searchView.setFocusable(false);
searchView.setIconified(false);
searchView.clearFocus();

并通过 xml 属性设置搜索视图:

<!-- Dummy item to prevent Search view from receiving focus -->

    <LinearLayout
        android:focusable="true" 
        android:focusableInTouchMode="true"
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"/>

<!-- :nextFocusUp and :nextFocusLeft have been set to the id of this component
to prevent the dummy from receiving focus again -->

    <android.support.v7.widget.SearchView android:id="@+id/serach_view"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:nextFocusUp="@id/serach_view" 
        android:nextFocusLeft="@id/serach_view"/>

它会起作用。

检查此 link 以供参考 enter link description here

只需将搜索视图图标化设置为 true。

mSearchView.setIconified(true);