कोटलिन के साथ सरल और प्रभावी समाधान
विस्तार EditText:
fun EditText.onSubmit(func: () -> Unit) {
setOnEditorActionListener { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_DONE) {
func()
}
true
}
}
तो इस तरह नई विधि का उपयोग करें:
editText.onSubmit { submit() }
submit()ऐसा कुछ कहाँ है:
fun submit() {
// call to api
}
अधिक सामान्य विस्तार
fun EditText.on(actionId: Int, func: () -> Unit) {
setOnEditorActionListener { _, receivedActionId, _ ->
if (actionId == receivedActionId) {
func()
}
true
}
}
और फिर आप इसका उपयोग अपनी घटना को सुनने के लिए कर सकते हैं:
email.on(EditorInfo.IME_ACTION_NEXT, { confirm() })