override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.a_fragment, container, false)
view.findViewById<Button>(R.id.next_button).setOnClickListener {
val navController = Navigation.findNavController(view)
navController.navigate(R.id.action_a_to_b)
}
return view
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.a_fragment, container, false)
view.findViewById<Button>(R.id.next_button).setOnClickListener {
val navOptions = NavOptions.Builder()
.setEnterAnim(R.anim.slide_out_top)
.setPopEnterAnim(R.anime.slide_out_top)
.setExitAnim(R.anim.slide_in_top)
.setPopExitAnim(R.anim.slide_in_top)
.build()
val navController = Navigation.findNavController(view)
navController.navigate(R.id.action_a_to_b, null, navOptions)
}
return view
}
class CFragment : Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
...
view.findViewById<Button>(R.id.safe_button_c).setOnClickListener {
val navController = Navigation.findNavController(view)
val action = CFragmentDirections.action_c_to_d()
action.setSafeData("Type-safe data passage between destinations.")
navController.navigate(action)
}
return view
}