Kotlin Notes: Difference between revisions
From James's Wiki
No edit summary |
No edit summary |
||
Line 13: | Line 13: | ||
=== Interfaces for callbacks === | === Interfaces for callbacks === | ||
Here is an interface used to open dialogs from HomeFragment since dialogs must be opened from a fragment or activity | |||
==== Code in HomeFragment ==== | |||
enum class DialogTypes { | enum class DialogTypes { | ||
RAPID_SHORT_TIME, | RAPID_SHORT_TIME, | ||
TIME_INPUT_HOUR | TIME_INPUT_HOUR | ||
} | |||
interface DialogListener { | |||
fun openDialog(type: DialogTypes) | |||
} | } |
Revision as of 21:13, 1 March 2025
Custom Listeners
Define the listener
var onDismissListener: (() -> Unit)? = null
Invoke the listener
onDismissListener?.invoke()
Use the listener in another class
dialogRapidShortTimePicker.onDismissListener = { Timber.d("Dialog dismissed from helper") dismiss() }
Interfaces for callbacks
Here is an interface used to open dialogs from HomeFragment since dialogs must be opened from a fragment or activity
Code in HomeFragment
enum class DialogTypes { RAPID_SHORT_TIME, TIME_INPUT_HOUR } interface DialogListener { fun openDialog(type: DialogTypes) }