Как сделать прослушивание клика на кнопку?

Как сделать прослушивание клика на кнопку? Причем это не обычная кнопка, а тулбар нижний

Есть справа внизу три кнопки : Home, DashBoard, Notification.

Хочу чтобы при клике на Home или Item 1 (кнопку внизу) - менялся сайт на другой в WebView. Как вызвать смену юрл адреса в WebView я знаю как сделать. А как сделать прослушивние кнопки? нажатие на тулбар?

Пытаюсь написать обработчик собитий при нажатии на ДашБорд кнопку чтобы в WebView открывался другой сайт.

Сделал по инструкции только ругается при выполнении кода внутри обработчика.

Слудеющий код не глючит, но и при колике на item1 (на кнопку) ничего не просиходит не меняется содежимое в ВебВью

 NavigationBarView.OnItemSelectedListener { item ->
            when(item.itemId) {
                R.id.item_1 -> {
                    // Respond to navigation item 1 click
                    val myWebView: WebView = binding.WebView
                    myWebView.loadUrl("https://ya.ru")
                    myWebView.settings.javaScriptEnabled = true
                    true
                }
                R.id.item_2 -> {
                    // Respond to navigation item 2 click
                    true
                }
                else -> false
            }
        }

Если же использую приведенный Евгением onNavigationItemSelected , то вот при таком коде ошибка

  val public      static interface NavigationBarView.OnItemSelectedListener
        {
            navView.onNavigationItemSelected(Item1){  val myWebView: WebView = binding.WebView
                myWebView.loadUrl("https://ya.ru")
                myWebView.settings.javaScriptEnabled = true
                true }
        }

Он светит красным onNavigationItemSelected

Таким образом при нижеприведенном коде у меня открывается сайт e1.ru Но при клике по кнопкам - не открывается сайт ya.ru в WebView Вообще ни один обработчик ни одной кнопки не срабатывает:

package com.example.spektr


import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController
import com.example.spektr.databinding.ActivityMainBinding
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.google.android.material.navigation.NavigationBarView


private class MyWebViewClient : WebViewClient() {

    private class MyWebViewClient : WebViewClient() {

        override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
            if (Uri.parse(url).host == "www.example.com") {
                // This is your website, so don't override. Let your WebView load
                // the page.
                return false
            }
            // Otherwise, the link isn't for a page on your site, so launch another
            // Activity that handles URLs.
            Intent(Intent.ACTION_VIEW, Uri.parse(url)).apply {
                startActivity(this)
            }
            return true
        }
    }


}

class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMainBinding




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

            //super.onCreate(savedInstanceState)

        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        val navView: BottomNavigationView = binding.navView


       //val public      static interface NavigationBarView.OnItemSelectedListener
       // {
        //    navView.onNavigationItemSelected(Item1){  val myWebView: WebView = binding.WebView
         //       myWebView.loadUrl("https://ya.ru")
      //          myWebView.settings.javaScriptEnabled = true
        //        true }
       // }



        val navController = findNavController(R.id.nav_host_fragment_activity_main)
        // Passing each menu ID as a set of Ids because each
        // menu should be considered as top level destinations.
       val appBarConfiguration = AppBarConfiguration(
           setOf(
                R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications
            )
        )
       setupActionBarWithNavController(navController, appBarConfiguration)
       navView.setupWithNavController(navController)


        val myWebView: WebView = binding.WebView
        myWebView.loadUrl("https://e1.ru")
        myWebView.settings.javaScriptEnabled = true
        myWebView.webViewClient = MyWebViewClient()



        NavigationBarView.OnItemSelectedListener {   item ->
            when(item.itemId) {
                R.id.item_1 -> {
                    // Respond to navigation item 1 click
                    val myWebView: WebView = binding.WebView
                    myWebView.loadUrl("https://ya.ru")
                    myWebView.settings.javaScriptEnabled = true
                    myWebView.webViewClient = MyWebViewClient()
                    true
                }
                R.id.navigation_dashboard -> {
                    // Respond to navigation item 2 click
                    val myWebView: WebView = binding.WebView
                    myWebView.loadUrl("https://ya.ru")
                    myWebView.settings.javaScriptEnabled = true
                    myWebView.webViewClient = MyWebViewClient()
                    true
                }
                else -> false
            }
        }

        //navView.setOnNavigationItemSelectedListener(HomeViewModel)
     //   navView.setOnItemSelectedListener(HomeViewModel) {
     //       val myWebView: WebView = binding.WebView
     //       myWebView.loadUrl("https://spektr-ekb.ru/")
      //  }





     //   val myWebView: WebView = binding.WebView
     //   myWebView.loadUrl("https://spektr-ekb.ru")
     //   myWebView.settings.javaScriptEnabled = true
        //myWebView.settings.setW
       // myWebView.webViewClient

       // val myWebView: WebView = binding.WebView
     //   myWebView.webViewClient = MyWebViewClient()





   }




}

private fun Intent.startActivity(intent: Intent) {

}


Ответы (0 шт):