Pass data back to previous fragment using Android Navigation

Android just released a solution for this; Passing data between Destinations (Navigation 2.3.0-alpha02), basically, in fragment A you observe changes in a variable and in fragment B you change that value before executing popBackStack().

Fragment A:

findNavController().currentBackStackEntry?.savedStateHandle?.getLiveData<String>("key")?.observe(viewLifecycleOwner) { result ->
    // Do something with the result.
}

Fragment B:

navController.previousBackStackEntry?.savedStateHandle?.set("key", result)
navController.popBackStack()

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)