Android 在当前目标中找不到导航IllegalArgumentException

Android 在当前目标中找不到导航IllegalArgumentException,android,android-jetpack,android-navigation,android-jetpack-navigation,android-navigation-graph,Android,Android Jetpack,Android Navigation,Android Jetpack Navigation,Android Navigation Graph,获取下一个错误: Non-fatal Exception: java.lang.IllegalArgumentException: Navigation action/destination com.sai.mand:id/bottom_menu_dialog cannot be found from the current destination a(com.sai.mand:id/bottomMenuDialog) label=BottomMenuDialog at andro

获取下一个错误:

Non-fatal Exception: java.lang.IllegalArgumentException: Navigation action/destination com.sai.mand:id/bottom_menu_dialog cannot be found from the current destination a(com.sai.mand:id/bottomMenuDialog) label=BottomMenuDialog
       at androidx.navigation.NavController.navigate(NavController.java:931)
       at androidx.navigation.NavController.navigate(NavController.java:868)
       at androidx.navigation.NavController.navigate(NavController.java:854)
       at com.sai.mand.tools.NavigationHelperKt.startMailApp(NavigationHelperKt.java:131)
       at com.sai.mand.features.authorizations.list.AuthorizationsListFragment$setupViewModel$5.onChanged(AuthorizationsListFragment.java:144)
       at com.sai.mand.features.authorizations.list.AuthorizationsListFragment$setupViewModel$5.onChanged(AuthorizationsListFragment.java:51)
       at androidx.lifecycle.LiveData.considerNotify(LiveData.java:131)
       at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:149)
       at androidx.lifecycle.LiveData.setValue(LiveData.java:307)
       at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
       at androidx.lifecycle.LiveData$1.run(LiveData.java:91)
       at android.os.Handler.handleCallback(Handler.java:873)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:214)
       at android.app.ActivityThread.main(ActivityThread.java:7050)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
但我不明白为什么他发誓说他找不到
底部菜单对话框
,而在错误本身中,如果我正确理解了问题的本质,他指的是
有趣的startMailApp

但无论如何,这是我的startMailApp的代码:

fun FragmentActivity.startMailApp(supportEmail: String? = null) {
    try {
        this.startActivityForResult(Intent(Intent.ACTION_SENDTO)
            .apply { data = Uri.parse("mailto:${supportEmail ?: DEFAULT_SUPPORT_EMAIL_LINK}") }, 0
        )
    } catch (ignored: IllegalStateException) {
    } catch (ignored: ActivityNotFoundException) {
    } catch (e: Exception) {
        Timber.e(e)
    }
}
导航图的代码及其使用方法:

<dialog
    android:id="@+id/bottomMenuDialog"
    android:name="com.sai.mand.features.menu.BottomMenuDialog"
    android:label="BottomMenuDialog" />

    viewModel.onMoreMenuClickEvent.observe(this, Observer { event ->
        event.getContentIfNotHandled()?.let { menuItems ->
            navigateToDialog(R.id.bottom_menu_dialog, menuItems)
        }
    })

fun Fragment.navigateToDialog(actionRes: ResId, bundle: Bundle) {
    try {
        findNavController().navigate(actionRes, bundle)
    } catch (e: Exception) {
        Timber.e(e)
    }
}

viewModel.onMoreMenuClickEvent.observe(这个,观察者{event->
event.getContentIfNotHandled()?.let{menuItems->
导航对话框(R.id.bottom\u菜单\u对话框,菜单项)
}
})
有趣的片段。导航对话框(actionRes:ResId,bundle:bundle){
试一试{
findNavController().导航(actionRes,捆绑)
}捕获(e:例外){
木材.e(e)
}
}