gpt4 book ai didi

android - 如何在 Activity 中使用 findNavController()

转载 作者:行者123 更新时间:2023-12-04 15:43:03 27 4
gpt4 key购买 nike

我想通过使用导航组件来更改 fragment ,但我想从 Activity 中更改 fragment 。如何从 Activity 中更改 fragment ?

tab_layout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onTabReselected(p0: TabLayout.Tab?) {

}

override fun onTabUnselected(p0: TabLayout.Tab?) {

}

override fun onTabSelected(p0: TabLayout.Tab?) {
if (tab_layout.selectedTabPosition == **Summary_Fragment().findNavController().navigate(R.id.sum_to_report)**
}
}
})

我希望输出改变 ID sum_to_report 中的 fragment

最佳答案

NavController用于从一个目的地导航到另一个目的地,可以通过以下静态方法之一进行检索:

NavHostFragment.findNavController(Fragment)
Navigation.findNavController(Activity, @IdRes int viewId)
Navigation.findNavController(View)

检索到 NavController 后, 使用 navigate()导航到目的地的方法。 navigate()接受资源 ID 的方法。 ID 可以是导航图中特定目的地的 ID,也可以是操作的 ID。使用操作的 ID,而不是目标的资源 ID。
例如,

Navigation.findNavController(this, R.id.my_nav_host_fragment).navigate(R.id.action_navigationFragment_to_blankFragment)

关于android - 如何在 Activity 中使用 findNavController(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57072265/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com