как сделать обработчик события клика на кнопку?
как сделать обработчик коликания на кнопку? Я в МейнАктивити.КТ пишу: такой обработчик
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
public fun onClickMyButton(any: Any, function: () -> Unit): Any {
setContentView(R.layout.fragment_setting)
val button = findViewById<Button>(R.id.buttonSave)
button.setOnClickListener {
// Code here executes on main thread after user presses button
Toast.makeText(this@MainActivity, "Заkla kla kla ", Toast.LENGTH_LONG).show()
}
return true;
}
ПРи нажатии на кнопку (кнопке при коике поставил что делать) - вылетает из приложения/ При этом этот код я создаю в мейнАктивити, а кнопка у меня в лаЙауте FragmentSettings. Я же должен вышеуказанный код помещать в МейнАктивити? В лайауте где расположена кнопка (обработчик коликов по которой я хочу реализовать) - указано tools:context=".ui.home.HomeFragment"> Значит ли это что я должен писать обработчик кнопки строго в HomeFragment.kt ?
Если создать в лайауте FragmentSettings.xml такой код: tools:context=".ui.home.SettingFragment"> и затем в классе SettingFragment пропмисать выше описанный код, то ругается на: setContentView - красным светит и красным findViewById светит. Красным не светит в мейнАктивити. Но в мейн активити при нажатии на кнопку Вылет из приложения
Даже еслит прописываешь лайауте в FragmentSettings.xml tools:context=".ui.home.SettingFragment"> и потом в классе SettingFragment.kt создаешь пустую функцию без кода внутри , то все равно вылетает приложение. (для кнопки установил в визульаном редакторе что ей делать, но в выпадающем списке эта функция не появляется)
Ответы (1 шт):
слушатель на кнопку, получилось:
findViewById<Button>(R.id.buttonSave)
.setOnClickListener{
Toast.makeText(this@MainActivity, "ahahahhaahha ", Toast.LENGTH_LONG).show()
setContentView(R.layout.activity_main)
}