问题描述
创建片段时,我从网络下载数据。 单击一个已经激活的菜单项时如何避免重新加载? 过渡与导航组件一起使用。我知道我需要听媒体报道,但是我还没有弄清楚实现的方法。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val navController = findNavController(R.id.fragmentContainerView)
val appBarConfiguration = AppBarConfiguration(setof(R.id.ruleListFragment))
setupActionBarWithNavController(navController,appBarConfiguration)
bottomNavigatinView.setupWithNavController(navController)
bottomNavigatinView.setonNavigationItemSelectedListener {
//Todo
}
}
}
解决方法
如果您只想防止客户端按下已激活的菜单项时重新创建片段,则这是您唯一需要的代码:
bottomNavigatinView.setOnNavigationItemReselectedListener {
// Empty Block -> Do not write any code here
}
,
您可以使用此代码来防止重新选择当前项目
bottomNav.setOnNavigationItemReselectedListener {
}
您可以做任何您想做的事,但为了避免重新选择当前处于活动状态的项目,我将其保留为空。