navigator icon indicating copy to clipboard operation
navigator copied to clipboard

Crashes if call goBack() after navigateTo()

Open nvhaiwork opened this issue 1 year ago • 1 comments

Case: Fragment1 navigateTo() Fragment2 Fragment2 check condition, if data is invalid -> backTo() Fragment1 => crashes

It works if I use Handle.postDelay()

Fragment 1 Code: onViewCreated()

     getView()?.findViewById<TextView>(R.id.text)?.setOnClickListener {
        getView()?.findViewById<TextView>(R.id.text)?.text = "Clicked"
        val options = FragmentNavigator.NavOptions(
            transaction = FragmentNavigator.TransactionType.REPLACE,
            animation = AnimationDefinition.Zoom
        )
        (activity as MainActivity).navigate.navigateTo(Fragment2(),options)
    }
    
    

Fragment 2 code: onViewCreated()

     getView()?.findViewById<TextView>(R.id.text)?.setOnClickListener {
        getView()?.findViewById<TextView>(R.id.text)?.text = "Clicked"
        val options = FragmentNavigator.NavOptions(
            transaction = FragmentNavigator.TransactionType.ADD,
            animation = AnimationDefinition.Zoom
        )
        (activity as MainActivity).navigate.navigateTo(Fragment3(),options)
    }

    //Handler().postDelayed({
        (activity as MainActivity).navigate.goBack()
    //}, 1)

nvhaiwork avatar Dec 02 '23 01:12 nvhaiwork