如何检索 NavHostFragment 中的当前片段?

新手上路,请多包涵

我试图在新的导航组件中找到一种方法,但我没有找到任何相关信息。

我有当前目的地:

 mainHostFragment.findNavController().currentDestination

但我无法获得对显示片段的任何引用。

原文由 BenjaminBihr 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 406
2 个回答

引用显示的片段(AndroidX):

爪哇

public Fragment getForegroundFragment(){
    Fragment navHostFragment = getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
    return navHostFragment == null ? null : navHostFragment.getChildFragmentManager().getFragments().get(0);
}

科特林

val navHostFragment: Fragment? =
        supportFragmentManager.findFragmentById(R.id.nav_host_fragment)
navHostFragment?.childFragmentManager?.fragments?.get(0)

在这里 nav_host_fragment activity_main.xml fragment android:name="androidx.navigation.fragment.NavHostFragment"

原文由 isabsent 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题