hkhoshraftar
12/25/2018 - 12:46 PM

#android #navigation #cheatsheet

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
    }