【发布时间】:2020-07-13 20:22:03
【问题描述】:
我正在尝试弄清楚如何使用 androidx 导航组件实现上下文操作栏
在其中,我有一个RecyclerView和选择项目时,我需要向所选项目显示动作栏,类似于下面的图像。
我已经为 RecyclerView 项目实现了选定状态,但我需要更改工具栏并响应操作点击。
我正在使用带有多个片段的单个活动应用程序
在 MainActivity 中,我按如下方式初始化工具栏。
当然,我需要从片段切换工具栏。
class MainActivity : AppCompatActivity() {
private lateinit var appBarConfiguration : AppBarConfiguration
private lateinit var navController: NavController
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding : MainActivityBinding = DataBindingUtil.setContentView(this,R.layout.main_activity)
setSupportActionBar(binding.toolbar)
val host: NavHostFragment = supportFragmentManager
.findFragmentById(R.id.nav_host_fragment) as NavHostFragment? ?: return
navController = host.navController
appBarConfiguration = AppBarConfiguration(
setOf(R.id.main_dest),
binding.drawerLayout
)
setupActionBar(appBarConfiguration)
}
private fun setupNavigationMenu(navView : NavigationView) {
navView.setupWithNavController(navController)
}
private fun setupActionBar(appBarConfig: AppBarConfiguration) {
setupActionBarWithNavController(navController,appBarConfig)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return item.onNavDestinationSelected(navController)
|| super.onOptionsItemSelected(item)
}
【问题讨论】:
标签: android kotlin android-toolbar android-architecture-components android-architecture-navigation