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);
我有以下代码:
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);