android - 如何使用 Kotlin 从底部导航视图打开活动

我有一个底部导航视图。单击其中一个项目时,我想打开一个活动,而不是 fragment。这是我的代码:

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val navController = findNavController(navigation_fragment.id)
        bottomNavigationView.setupWithNavController(navController)

        fusedLocationClient = LocationServices.getFusedLocationProviderClient(this)
        userId = intent.getStringExtra("user_id")

        bottomNavigationView.setOnItemSelectedListener { item ->
            when (item.itemId) {
                R.id.navigation_graph_take_photo -> {
                    cameraCheckPermission()
                }
            }
            true
        }
    }

在试图弄清楚如何解决这个问题时,我意识到当执行 bottomNavigationView.setOnItemSelectedListener 方法时,它会使 bottomNavigationView.setupWithNavController(navController) 方法无效。

但我无法弄清楚如何做到这一点,以便当您单击其余的导航菜单项时,一切都像没有我的更改一样

回答1

Using the below method open activity on the bottom navigation menu item and click-

override fun onNavigationItemSelected(item: MenuItem): Boolean {
        when (item.getItemId()) {
            R.id.navigation_home -> {
                val obj_a= Intent(ActivityA@this, ActivityB::class.java)
                startActivity(obj_a)
                return true
            }
            R.id.navigation_bills -> {
                val obj_b= Intent(ActivityA@this, ActivityC::class.java)
                startActivity(obj_b)
                return true
            }
            R.id.navigation_scan -> {
                val obj_c = Intent(ActivityA@this, ActivityD::class.java)
                startActivity(obj_c)
                return true
            }
          
        }
        return false
    }

相似文章

随机推荐

最新文章