我想通过使用导航组件更改片段,但我想从活动更改片段。如何更改 Activity 中的片段?
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)**
}
}
})
Run Code Online (Sandbox Code Playgroud)
我希望输出改变 ID 中的片段sum_to_report
小智 6
NavController
用于从一个目的地导航到另一个目的地,可以通过以下静态方法之一检索该目的地:
NavHostFragment.findNavController(Fragment)
Navigation.findNavController(Activity, @IdRes int viewId)
Navigation.findNavController(View)
Run Code Online (Sandbox Code Playgroud)
检索到 后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)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9738 次 |
最近记录: |