Si j'ai un EditText et que je veux écouter si l'utilisateur appuie sur le bouton "terminé" du clavier, comment dois-je faire ?
Cette question a déjà des réponses:
- Android - Gérer la touche "Entrée" dans un EditText (5 réponses )
Réponses
Trop de publicités?
Westy92
Points
842
li2
Points
990
La méthode Rx pour faire ça :
fun EditText.onImeActionDoneClicks(): Observable<Unit> {
return Observable.create { emitter ->
setOnEditorActionListener { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_DONE) {
emitter.onNext(Unit)
true
} else {
false
}
}
}
}
compositeDisposable += lastEditText.onImeActionDoneClicks().subscribe {
toast("onImeDoneClicks")
}
- Réponses précédentes
- Plus de réponses
1 votes
Un point à prendre en compte : le téléphone peut avoir un clavier physique, et l'utilisateur peut ne jamais appuyer sur le bouton "Terminer" du clavier. Avez-vous pensé à effectuer votre opération en fonction de la perte du focus ou de la fin de l'édition d'un texte ?
0 votes
Duplicata possible : stackoverflow.com/a/60989441/878126