Abrir un DialogFragment con Navigation Component Android Kotlin


Mini apuntes de como llamar un DialogFragment usando el componente Navigation Component de Google Arquitechure usando Kotlin.

Llamar DialogFragment

Despues de añadir el DialogFragment en el nav_graph.xml con id fragment_fist_detail_fragment

private fun showDialog() {

    val currentNav = findNavController().currentDestination?.id
    if (currentNav == R.id.detailDialogFragment) return
    findNavController().navigate(R.id.fragment_fist_detail_fragment)
    
}

showDialog()

Llamar DialogFragment con parámetros

En nav_graph.xml setear los argumentos a recibir, aquí un ejemplo con un argumento de texto

<dialog
    android:id="@+id/detailDialogFragment"
    android:name="com.sample.DetailDialogFragment"
    android:label="DetailDialogFragment" >
    <argument
        android:name="title"
        app:argType="string"
        android:defaultValue="Dialog title" />
</dialog>

con eso se al hacer build nos creará los Directions correspondientes que le podemos asignar el valor al parámetro

val action = FirstFragmentDirections.actionNavFirstFragmentToDetailDialogFragment("Hello World")
findNavController().navigate(action)
Anuncio publicitario

Publicado por Codelaby

Mobile DevDesigner

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: