Android 中的底部导航仅适用于双击,

Aas*_*aur 1 android bottomnavigationview

创建一个应用程序,并通过设置“导航时选择的侦听器”来实现底部导航,单击底部导航面板中的图标时,我尝试替换片段,片段确实会被替换,但双击时会被替换。单击菜单项不会执行任何操作。这是我的代码'''

类 MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

            setContentView(R.layout.activity_main)
   // val toolbar=app_bar as androidx.appcompat.widget.Toolbar
    //setSupportActionBar(toolbar)

 val navigation = findViewById<View>(R.id.nav_view) as BottomNavigationView
    navigation.setOnNavigationItemReselectedListener {

        when (it.itemId) {
            R.id.navigation_home -> {

                var x = supportFragmentManager
                var y = x.beginTransaction()

                var fragment = HomeFragment()
                y.replace(R.id.nav_host_fragment, fragment)
                y.addToBackStack("123")
                y.commit()


            }

            R.id.navigation_login -> {

                var x = supportFragmentManager
                var y = x.beginTransaction()

                var fragment = LoginFragment()
                y.replace(R.id.nav_host_fragment, fragment)
                y.addToBackStack("456")
                y.commit()


            }

            R.id.navigation_notifactory -> {

                var x = supportFragmentManager
                var y = x.beginTransaction()

                var fragment = NotificationFragment()
                y.replace(R.id.nav_host_fragment, fragment)
                y.addToBackStack("789")
                y.commit()


            }




        }

    }


    var x = supportFragmentManager
    var y = x.beginTransaction()

    val fragment=HomeFragment()

    y.add(R.id.nav_host_fragment,fragment)
    y.addToBackStack(null)
    y.commit()
}



}
Run Code Online (Sandbox Code Playgroud)

'''

Win*_*ini 5

替换这个:

    navigation.setOnNavigationItemReselectedListener {
Run Code Online (Sandbox Code Playgroud)

经过:

   navigation.setOnNavigationItemSelectedListener {
Run Code Online (Sandbox Code Playgroud)