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