Buscar ver cerrar icono aparecer deshabilitado en lugar de blanco

Cada vez que escriba en mi búsqueda, el botón de cierre (X) parece estar deshabilitado por alguna razón en lugar de aparecer en el color blanco. ¿Cómo se puede resolver este error para que aparezca blanco?

Introduzca aquí la descripción de la imagen

@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.menu_search_list, menu); MenuItem item = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) MenuItemCompat.getActionView(item); searchView.setOnQueryTextListener(this); searchView.setQueryHint(getResources().getString(R.string.station_search_hint)); } 

Menu_search_list.xml

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" > <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search_light" android:title="@string/action_search" android:orderInCategory="100" app:showAsAction="always" app:actionViewClass="android.support.v7.widget.SearchView"/> </menu> 

Tu código parece estar bien. Pruebe el siguiente código:

 final MenuItem search = menu.findItem(R.id.action_search); if (search != null) { SearchView searchView = (SearchView) MenuItemCompat.getActionView(search); search.expandActionView(); searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { return false; } @Override public boolean onQueryTextChange(String newText) { // Your Logic return false; } }); MenuItemCompat.setOnActionExpandListener(search, new MenuItemCompat.OnActionExpandListener() { @Override public boolean onMenuItemActionExpand(MenuItem item) { return false; } @Override public boolean onMenuItemActionCollapse(MenuItem item) { finish(); return true; } }); 

Un nuevo tweak: Pruebe el mismo código anterior en onPrepareOptionsMenu con las siguientes líneas adicionales en la parte superior

 menu.clear(); getMenuInflater().inflate(R.menu.menu_search_list, menu); ... // Above code 
 ImageView close_button = (ImageView)searchView.findViewById(R.id.close_button); close_button .setBackgroundResource(R.drawable.your_icon); 

O (utilizando Selector)

  ImageView close_button =(ImageView)searchView.findViewById(R.id.close_button); close_button .setBackgroundResource(R.drawable.your_image_selector); 

Creo que copiar y pegar el siguiente código:

 View close = searchView.findViewById(R.id.search_close_btn); close.setBackgroundResource(R.drawable.desired_icon); 

No es una buena solución. Por favor, use estilos para esto.
Primera solución. Añadir icono de cierre como predeterminado android:searchViewCloseIcon en su tema principal:

 <style name="Theme" parent="AppBaseTheme"> <item name="android:searchViewCloseIcon">@drawable/ic_your_search_close_icon</item> </style> 

Segunda solución (Mejor). Estilo de la barra de acción

 <style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="android:actionBarStyle">@style/MyActionBar</item> <!-- Support library compatibility --> <item name="actionBarStyle">@style/MyActionBar</item> </style> <!-- ActionBar styles --> <style name="MyActionBar" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="searchViewCloseIcon">@android:drawable/ic_your_search_close_icon</item> </style> 

Otros atributos de SearchView (del código fuente appcompat-v7 ( LINK ACTUALIZADO )):

 <attr name="searchResultListItemHeight" format="dimension" /> <attr name="searchViewAutoCompleteTextView" format="reference" /> <attr name="searchViewCloseIcon" format="reference" /> <attr name="searchViewEditQuery" format="reference" /> <attr name="searchViewEditQueryBackground" format="reference" /> <attr name="searchViewGoIcon" format="reference" /> <attr name="searchViewSearchIcon" format="reference" /> <attr name="searchViewTextField" format="reference" /> <attr name="searchViewTextFieldRight" format="reference" /> <attr name="searchViewVoiceIcon" format="reference" /> 

Uso de Exaple:

 <item name="searchDropdownBackground">@android:drawable/spinner_dropdown_background</item> <item name="searchViewTextField">@drawable/textfield_searchview_holo_dark</item> <item name="searchViewTextFieldRight">@drawable/textfield_searchview_right_holo_dark</item> <item name="searchViewCloseIcon">@android:drawable/ic_clear</item> <item name="searchViewSearchIcon">@android:drawable/ic_search</item> <item name="searchViewGoIcon">@android:drawable/ic_go</item> <item name="searchViewVoiceIcon">@android:drawable/ic_voice_search</item> <item name="searchViewEditQuery">@android:drawable/ic_commit_search_api_holo_dark</item> <item name="searchViewEditQueryBackground">?attr/selectableItemBackground</item> <item name="searchDialogTheme">@style/Theme.SearchBar</item> 

Más sobre el estilo:
Android – Theming ActionBar y el SearchView en su interior por Andreas Nilsson
Diseño de la barra de acciones mediante la documentación oficial de Android

  • Intellij IDEA CE 12 Terminación de código XML de Android no funciona
  • ¿Existe un estándar de documentación para atributos personalizados de estilo XML en Android?
  • Cómo poner dos EditText en la misma línea
  • Símbolo exclamatorio desconocido en el archivo xml
  • Agregar varias vistas personalizadas al diseño mediante programación
  • transformar xml a html usando xslt
  • Error en el archivo strings.xml en Android
  • Add Layout progamatically android
  • Dibujar polígonos en XML con Android
  • OnConfigurationChanged () no se dispara para keyboardHidden
  • Android 9 patch xml dibujable
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.