Lambdas
When a RadioButton
widget is part of RadioGroup,
the visual appearance of them is coordinated for us. All we need to do is react when any given RadioButton
widget is pressed. Of course, as with any other button, we need to know when they have been clicked on.
A RadioButton
widget behaves differently to a regular Button
widget and simply listening for clicks in onClick
(after implementing OnClickListener
) will not work because the RadioButton
class is not designed that way.
What we need to do is use another Kotlin feature. We need an instance of a special interface, for the sole purpose of listening for clicks on RadioGroup
. The next block of code assumes that we have a reference to a RadioGroup
instance called radioGroup
; here is the code to examine:
radioGroup.setOnCheckedChangeListener { group, checkedId -> // Handle the clicks here }
The preceding code, specifically setOnChekedChangeListener
from its opening curly brace ({
) to the closing curly brace (}
), is what is known...