Ho EditText che viene utilizzato per immettere contenuti sui messaggi (e-mail, sms). Voglio che il messaggio venga immediatamente pubblicato sul pulsante del pulsante ActionDone. Io uso seguente codice per questo:Come implementare Multiline EditText con il pulsante ActionDone (senza pulsante Invio)
message.setOnEditorActionListener((textView, i, keyEvent) -> {
switch (i) {
case EditorInfo.IME_ACTION_DONE:
if (messageCanBePosted()) {
SoftKeyboard.hide(message);
postMessage();
return true;
} else {
return false;
}
default:
return false;
}
});
Ma anche io voglio questo campo messaggio sia più righe, come in tutte le altre applicazioni di messaggistica. Posso raggiungere con questa linea:
android:inputType="textMultiLine"
Il problema è che dopo l'aggiunta di questa riga tasto ActionDone comincia ad agire come il tasto Invio. Quindi il mio callback per la cattura di EditorInfo.IME_ACTION_DONE
non viene mai chiamato. Quindi ogni volta che l'utente preme il cursore del pulsante si sposta su una nuova riga invece di inviare un messaggio.
Come è possibile mantenere il comportamento su più righe di EditText (possibilità di mostrare testo su più righe) e il pulsante ActionDone?
Sei sicuro che questo ha funzionato? Non riesco a farlo funzionare – silverFoxA
@silverFox sì, ha funzionato per me. Quali proprietà definisci per il tuo EditText in xml? – Ruslan
Grazie ha funzionato – silverFoxA