Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 导航Jetpack中没有addOnNavigatedListener_Android_Android Architecture Navigation_Android Jetpack Navigation_Android Navigation Graph - Fatal编程技术网

Android 导航Jetpack中没有addOnNavigatedListener

Android 导航Jetpack中没有addOnNavigatedListener,android,android-architecture-navigation,android-jetpack-navigation,android-navigation-graph,Android,Android Architecture Navigation,Android Jetpack Navigation,Android Navigation Graph,实际上,我想用同一个工具栏处理不同片段之间的事件转换。我找到了这个。他们使用的是addOnNavigatedListener,但在我的例子中,我没有找到这个接口。我只有addOnDestinationChangedListener,它没有触发片段之间的转换。我想要这样的东西: navController.addOnNavigatedListener { controller, destination -> when(destination.id){

实际上,我想用同一个工具栏处理不同片段之间的事件转换。我找到了这个。他们使用的是
addOnNavigatedListener
,但在我的例子中,我没有找到这个接口。我只有
addOnDestinationChangedListener
,它没有触发片段之间的转换。我想要这样的东西:

navController.addOnNavigatedListener { controller, destination ->
            when(destination.id){
                R.id.action_nav_home_to_nav_search -> {
                    println("HOME TO SEARCH")
                    Timber.d("HOME TO SEARCH")
                    card_search.visibility = View.GONE
                }
                else -> {
                    println("HOME KE LAIN")
                    card_search.visibility = View.VISIBLE
                }
            }
        }
我使用此依赖项:

    implementation 'androidx.navigation:navigation-fragment-ktx:2.3.1'
    implementation 'androidx.navigation:navigation-ui-ktx:2.3.1'

有人知道发生了什么吗?

多亏了@ianhanniballake,
addOnNavigatedListener
重命名为
addOnDestinationChangedListener
id
应该是fragment
id

addOnNavigatedListener
是1.0之前的导航字母(这是在添加答案时)并重命名为
addOnDestinationChangedListener
。您如何在片段之间导航?您在哪里添加您的
OnDestinationChangedListener
(在活动?片段中?)。请注意,其中的id是目标id,而不是代码中的操作id。@ianhanniballake your's right,destination id表示片段的id。谢谢