Escucha para hacer clic en cualquier área de la SearchView
Tengo un SearchView y estoy usando componentes de navegación. Creé una lógica tal que cuando presiono el botón de búsqueda en el teclado desde el fragmento A, hay una transición con la transferencia del texto del SearchView al fragmento B.
Aquí estoy en el fragmento B, y el texto del SearchView en el fragmento A se pasó al campo de entrada del SearchView en el fragmento B, y ahora necesito que cuando presione cualquier área del SearchView, regrese al fragmento A, mientras android: iconifiedByDefault = "false"
, ¿cómo hacerlo?
davy.ai
Para lograr esta funcionalidad, podemos utilizar setOnQueryTextFocusChangeListener en SearchView en Fragment B. Cuando se hace clic en SearchView, podemos utilizar el componente de navegación para volver a Fragment A con el texto de consulta existente como argumentos.
Aquí hay un ejemplo de código que se puede utilizar:
En el código anterior, hemos establecido un listener de cambio de enfoque en SearchView. Cuando SearchView obtiene el enfoque (es decir, se hace clic en ella), obtenemos el texto de consulta desde SearchView y creamos una acción para navegar de vuelta a Fragment A usando el componente de navegación. Pasamos el texto de consulta como un argumento en la acción para que se pueda usar en Fragment A.
Para asegurarnos de que SearchView no esté iconificado por defecto, necesitamos establecer el atributo iconifiedByDefault en false en ambos diseños de Fragment A y Fragment B. Aquí hay un ejemplo:
Al hacer esto, SearchView siempre se expandirá y será visible en tanto Fragment A como Fragment B.