Android: Evita que el campo de texto aparezca al ingresar texto en un SearchView
Hola desarrolladores de Android,
Tengo un problema con el widget Android SearchView . Lo que estoy tratando de hacer es adjuntar un filtro de texto "en vivo" a mi ListView (la entrada de texto actualiza automáticamente los resultados del filtro). Funciona realmente bien y no fue un gran esfuerzo para conseguir que funcione en mi ListActivity con estas líneas:
- Horizontal ProgressBar: Cambiar entre determinado e indeterminado
- Android - Implementación del filtro de búsqueda en un RecyclerView
- Cambio de diálogo de búsqueda
- La búsqueda crea nuevas actividades en TabActivity
- SearchManager.getSearchableInfo (getComponentName ()) devuelve null
private SearchView listFilter; this.listFilter = (SearchView) findViewById(R.id.listFilter); this.listFilter.setOnQueryTextListener(this); this.listFilter.setSubmitButtonEnabled(false); this.getListView().setOnItemClickListener(this); this.getListView().setTextFilterEnabled(true); // from OnQueryTextListener public boolean onQueryTextChange(String newText) { if (newText.isEmpty()) { this.getListView().clearTextFilter(); } else { this.getListView().setFilterText(newText); } return true; }
Y aquí la declaración del widget xml
<SearchView android:id="@+id/listFilter" android:layout_width="match_parent" android:layout_height="wrap_content" android:iconifiedByDefault="false" android:queryHint="enter text to filter" />
Ahora lo que mi problema es que cada vez que introdujo texto en el SearchView, un extraño campo de texto aparece instantáneamente mostrando el mismo texto que acabo de entrar que es un poco inútil ya que puedo ver mi entrada en el SearchView en sí y en parte bloquea el Vista en mi lista de entradas, que es sólo molesto.
¿Hay alguna forma de evitar que el campo de texto aparezca al escribir en el SearchView? No pude encontrar ninguna propiedad ni en las opciones de widget definidas por XML ni en la referencia de clase de Java.
Sé que hay otra manera de proporcionar la funcionalidad de filtro mediante EditText y TextWatcher, pero luego tengo que manejar el filtrado por mí mismo y no podría beneficiarse de la SearchView manejo de mí.
Cualquier sugerencia es apreciada. Atentamente
Felix
- Android: ¿Es posible insertar una opción permanente en sugerencias de búsqueda personalizadas?
- Contactos de búsqueda inteligente en android
- Cómo hacer android buscar barra de ancho completo en api 17 o superior?
- Implementación de SeekBar simple en android
- Búsqueda en una base de datos SQLite que contenga datos cítricos
- Android Seekbar no puede eliminar el relleno / fondo
- Cómo restablecer una búsqueda utilizando android SearchManager
- Android SearchView.onQueryTextSubmit (consulta de cadena)
Descubrí cómo deshacerse de esa fea ventana emergente. El truco es trabajar con el filtro directamente. El código abajo asume que usted ha aplicado filtrado en su customAdapter.
public boolean onQueryTextChange(String newText) { if (TextUtils.isEmpty(newText)) { m_listView.clearTextFilter(); } else { ContactsAdapter ca = (ContactsAdapter)lv.getAdapter(); ca.getFilter().filter(newText); //following line was causing the ugly popup window. //m_listView.setFilterText(newText); } return true; }
- Android: cómo obtener el nombre del archivo apk mediante programación?
- Falta el método en android.net.wifi.WifiManager