Kotlin-再次尝试交换导航图时,应用程序崩溃

时间:2020-06-10 17:30:59

标签: android kotlin

我有一个Kotlin应用程序,需要使用多个导航图。该配置使得在应用程序启动时会有一个初始导航图,可以选择多个不同的路径(每个路径都有自己的导航图)。发生路径选择时,可以通过“ FragmentManager.beginTransaction()”。replace()调用替换初始导航图,该方法工作正常。随后,可以调用相同的方法来成功换出第二个导航并将其替换为初始图形。但是,当尝试换出初始图并再次用第二张图替换它时,应用程序只会崩溃。希望有人能对此有所启发,因为我还不到两周就可以进行原生Android开发。下面的代码表示导航过程中要调用的方法。

fun navigateFromAToB(){
        val host = NavHostFragment.create(R.navigation.nav_graph_B)
        val transaction = parentFragmentManager.beginTransaction()
        transaction.replace(R.id.fragment_A_container, host)
        transaction.setPrimaryNavigationFragment(host)
        transaction.commit()
    }

fun navigateFromBToA(){
        val host = NavHostFragment.create(R.navigation.nav_graph_A)
        val transaction = parentFragmentManager.beginTransaction()
        transaction.replace(R.id.fragment_B_container, host)
        transaction.setPrimaryNavigationFragment(host)
        transaction.commit()
    }

注意:当第二次调用方法(1)时,发生崩溃。

0 个答案:

没有答案