BottomNavigationView双击

问题描述

创建片段时,我从网络下载数据。 单击一个已经激活的菜单项时如何避免重新加载? 过渡与导航组件一起使用。我知道我需要听媒体报道,但是我还没有弄清楚实现的方法

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 {

    }

您可以做任何您想做的事,但为了避免重新选择当前处于活动状态的项目,我将其保留为空。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...