Kotlin 在导航抽屉示例中打开新片段

Kotlin opening new fragment in nav drawer example

我对 Kotlin 比较陌生,我正在尝试通过在我的片段中添加一个按钮来扩展导航抽屉示例,该按钮可以直接打开另一个片段,而无需 select 从导航抽屉中打开它。 这是我片段的 onCreateView 函数中的按钮侦听器:

    addButton.setOnClickListener()
    {
        Toast.makeText(this.context,"ButtonPressed",Toast.LENGTH_SHORT).show()
        this.activity.supportFragmentManager.beginTransaction().replace(R.id.mobile_navigation, R.layout.fragment2).commit()
    }

我不确定我是否完全理解如何处理这个问题。该按钮工作正常并调用 toast,但我无法通过它来更改片段。

如有任何帮助,我们将不胜感激。

the template has a mobile_navigation.xml file with a "navigation" element.

Navigation Architecture components is used by default in recent android studio versions, so the navController 负责片段交易,而不是由 supportFragmentManager

手动进行
addButton.setOnClickListener() {
    Toast.makeText(this.context,"ButtonPressed",Toast.LENGTH_SHORT).show()

    val navHostFragment = requireActivity().supportFragmentManager
        .primaryNavigationFragment as NavHostFragment

    navHostFragment.navController.navigate(R.layout.fragment2)
}

此外,请确保 R.layout.fragment2R.id.mobile_navigation.xml

中目标片段的片段 ID