Kotlin Notes

From James's Wiki
Revision as of 21:13, 1 March 2025 by Ractive (talk | contribs)

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)
}