elemento ListView Android resaltar mediante programación
-
19-09-2019 - |
Pregunta
Sé que ha sido preguntado por ahí, pero no he encontrado bastante la respuesta todavía (nuevo a Android mucho lo de la ignorancia)
Actividad lanzamiento de mi aplicación tiene un EditarTexto (llamado cuadro de búsqueda), un ListView (designaciones) y una ruleta (tipos)
Puedo usar el EditarTexto como un cuadro de búsqueda, tengo que pasar la cadena a través de una edición personalizada para que la búsqueda sea más flexible. Después de eso me partido que contra la aproximación más cercana que encuentro en 'denominaciones' y hago
designations.setSelection(j);
Como era de esperar, esto establece el artículo deseado a la parte superior de las designaciones. Pero no puedo encontrar una manera de destacar que a través de código.
Ahora, yo sé que si el dispositivo está en modo de contacto no se producirá el resaltado de un elemento seleccionado. Por lo que los últimos 4 líneas de evento OnTextChanged de mi cuadro de búsqueda son:
designations.setFocusable(true);
designations.setFocusableInTouchMode(true);
if (match==true) designations.setSelection(j);
if (st.length()==0) designations.setSelection(0);
en vano.
Ahora, yo no tengo ningún código en el cuadro de búsqueda de afterTextChanged (editable s);
así que alguien podría dar una pista sobre esto?
lo que respecta ~ Dh
Solución
echa un vistazo a requestFocus () y tal vez requestChildFocus ()
Otros consejos
¿Ha intentado establecer el View
real para ser seleccionado?
designations.setSelection(j);
designations.getSelectedView().setSelected(true);