Saltar al contenido

Componente de navegación de Android: pasar valor (argumentos) en fragmentos

Te sugerimos que revises esta solución en un ambiente controlado antes de enviarlo a producción, un saludo.

Solución:

Así que olvidé pasar por este enlace: Definir argumentos de destino

Pero esta respuesta es útil para todos los perezosos como yo:

Agregar dependencia en el nivel del proyecto construir.gradle:

classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0"

Aplicar complemento en el nivel de la aplicación construir.gradle:

apply plugin: "androidx.navigation.safeargs"

Usando XML: predefinido (static) valor:

En archivo xml de navegación /navegación/navegación_móvil.xml declarar argument Etiqueta como se muestra a continuación o puedes diseñar a través de este enlace:


    



    

Ahora tienes que escribir código en tu Fragmento como:

if(getArguments() != null) 
    // The getPrivacyPolicyLink() method will be created automatically.
    String url = PrivacyPolicyFragmentArgs.fromBundle(getArguments()).getPrivacyPolicyLink();

Espero que te ayude a otros.

Para pasar argumentos a otros Fragmentos/Destinos, use Safe Args que garantiza la seguridad de tipos. Tal como lo ilustró @bromden, Safe Args generará una clase para cada fragmento/destino donde un action se origina A continuación, puede pasar los argumentos al action que navega a los Fragmentos.

En el fragmento de recepción, digamos PrivacyFragment si tu código está en Kotlin, úsalo antes de navArgs() delegado de propiedad para acceder a los argumentos. es decir

val args: PrivacyFragmentArgs by navArgs()

Para comprender mejor esto, visite Pasar datos entre destinos

Nos puedes asistir nuestra ocupación añadiendo un comentario y dejando una valoración te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *