Josh
Josh

Reputation: 1718

Android Jetpack Navigation Pass Lambda/Delegate between Fragments

I would like to pass a lambda from fragment A to fragment B when A transitions to B via a findNavController().navigate(R.id.action_a_to_b). The use case is B helps pick an item out to display on screen A.

Something like:

// In A
findNavController().navigate(R.id.action_a_to_b, configBlock: { fragmentB ->
    fragmentB.itemSelectedCallback = this::itemSelected
})

I recognize this pattern doesn't quite fit with what Google is pushing (I assume they want shared observed view models with fragments not communicating between each other) but I am not looking to transition to that architecture style yet.

Upvotes: 1

Views: 979

Answers (1)

ianhanniballake
ianhanniballake

Reputation: 199805

This is not yet possible, however, there is an existing feature request for being able to navigate for a result, which would let you get this type of functionality.

Upvotes: 1

Related Questions