Android支持库SearchView xml属性queryHint和iconifiedByDefault无法正常工作

我在布局文件中有以下SearchView

<android.support.v7.widget.SearchView android:id="@+id/search_view" android:layout_height="wrap_content" android:layout_width="match_parent" android:queryHint="@string/search" android:iconifiedByDefault="false" /> 

但是,当我运行我的应用程序没有提示出现和searchview被图标化,在代码中它的工作我的问题是这是一个支持库上的错误?

Solutions Collecting From Web of "Android支持库SearchView xml属性queryHint和iconifiedByDefault无法正常工作"

您缺less必需的名称空间 。 在XML布局[yourapp]replace为您的应用程序名称。 为SearchView属性使用此名称空间。 如果您使用支持库中的视图,则此方法是必需的。 顺便说一句。 您必须对AppCompat操作栏的菜单执行相同的操作 。

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:[yourapp]="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.SearchView android:id="@+id/fragment_address_search" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/global_bg_front" android:textSize="@dimen/global_text_medium" android:textColor="@color/global_text_primary" [yourapp]:queryHint="@string/fragment_address_search_hint" [yourapp]:iconifiedByDefault="false" /> </LinearLayout> 

您也可以以编程方式设置您的SearchView。 在GitHub上查看我的模板 。

 private void setupSearchView(SearchView searchView) { // search hint searchView.setQueryHint(getString(R.string.fragment_address_search_hint)); // background View searchPlate = searchView.findViewById(android.support.v7.appcompat.R.id.search_plate); searchPlate.setBackgroundResource(R.drawable.searchview_bg); // icon ImageView searchIcon = (ImageView) searchView.findViewById(android.support.v7.appcompat.R.id.search_mag_icon); searchIcon.setImageResource(R.drawable.searchview_icon); // clear button ImageView searchClose = (ImageView) searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn); searchClose.setImageResource(R.drawable.searchview_clear); // text color AutoCompleteTextView searchText = (AutoCompleteTextView) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text); searchText.setTextColor(getResources().getColor(R.color.global_text_primary)); searchText.setHintTextColor(getResources().getColor(R.color.global_text_secondary)); }