Следующий код делает именно то, что я хочу.
fun onButtonClick(@Suppress("UNUSED_PARAMETER") v: View) {
val intent = Intent(this, ImageActivity::class.java)
val bundle = Bundle()
orangeButton.setOnClickListener{
val parcel:ImageUrl = IMAGE_URL_ORANGE
bundle.putParcelable("key", parcel)
intent.putExtra(IMAGE_BUNDLE_NAME, bundle)
startActivity(intent)
}
redButton.setOnClickListener{
val parcel:ImageUrl = IMAGE_URL_RED
bundle.putParcelable("key", parcel)
intent.putExtra(IMAGE_BUNDLE_NAME, bundle)
startActivity(intent)
}
greenButton.setOnClickListener{
val parcel:ImageUrl = IMAGE_URL_GREEN
bundle.putParcelable("key", parcel)
intent.putExtra(IMAGE_BUNDLE_NAME, bundle)
startActivity(intent)
}
}
Проблема в том, что поведение практически идентично в любом из трех случаев. Как мне это сделать? Я попробовал следующее, но это приводит к сбою приложения.
fun onButtonClick(@Suppress("UNUSED_PARAMETER") v: View) {
val intent = Intent(this, ImageActivity::class.java)
val bundle = Bundle()
lateinit var parcel:ImageUrl
orangeButton.setOnClickListener{
parcel = IMAGE_URL_ORANGE
}
redButton.setOnClickListener{
parcel = IMAGE_URL_RED
}
greenButton.setOnClickListener{
parcel = IMAGE_URL_GREEN
}
bundle.putParcelable("key", parcel)
intent.putExtra(IMAGE_BUNDLE_NAME, bundle)
startActivity(intent)
}
Возможно, мне следует использовать какое-то выражение IF, но как мне найти идентификатор нажатой кнопки?