我有以下代码:
activityBinding.bottomNav.selectedItemId = R.id.myFragment这在androidx.navigation:navigation-*版本2.3.5中运行良好,但不适用于2.4.2版本和任何其他2.4.*版本。
我到处搜索,但我还没有找到一个解决方案来让它工作( menu.findItem(R.id.myFragment).isChecked = true这样的替代代码也不起作用)。
知道我做错了什么吗?
发布于 2022-04-16 10:05:40
由于新的库,如果使用导航器将一个片段设置为起始片段,然后使用selectedItemId选择相同的片段,则结果将是单击它,但不会发生任何事情。
将nav_graph中的起始片段放到其他地方,然后使用selectedItemId选择正确的片段,使其工作。
发布于 2022-04-14 09:43:12
它对我来说很好--我使用2.4.1版本的androidx.navigation:navigation-*
navController.addOnDestinationChangedListener { _, destination, _ ->
when (destination.id) {
R.id.mainFragment, R.id.recentsFragment, R.id.favouriteFragment
-> {
// do your Code
}
else -> {
//do your code
}
}
Log.i("TLogs", "onCreate: ${bottomNavigationView.selectedItemId}")
}你可以根据我所做和附上的例子来检查它。
日志显示当前项Id。
https://stackoverflow.com/questions/71869128
复制相似问题