首页 > 解决方案 > Navigation Jetpack 中没有 addOnNavigatedListener

问题描述

实际上,我想处理具有相同工具栏的不同片段之间的事件转换。我找到了这个答案。他们使用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'

有谁知道发生了什么?

标签: androidandroid-architecture-navigationandroid-jetpack-navigationandroid-navigation-graph

解决方案


感谢@ianhanniballake,addOnNavigatedListener重命名为addOnDestinationChangedListenerand the idshould be fragmentid


推荐阅读