5

Ho un gruppo di EditTexts in un frammento di registrazione.Lollipop Android EditText: completamento automatico non funziona per gli indirizzi e-mail

Su KitKat e sotto, qualsiasi EditText il cui inputType è un indirizzo di posta elettronica utilizzerà il completamento automatico del sistema, che è conveniente per gli utenti inserendo i propri indirizzi di posta elettronica.

Tuttavia, su Lollipop (5.0.1 su un Nexus 4, per quello che vale), si rifiuta di utilizzare il completamento automatico. Ecco il mio codice per impostare il tipo di ingresso:

mEditText.setInputType(InputType.TYPE_CLASS_TEXT 
       | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS 
       | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT)); 

Il seguente codice che è solo capitalizzando la prima lettera di ogni parola piuttosto che impostare l'ingresso come un indirizzo email è causando completamento automatico di lavorare su tutte le API livelli (anche se la bandiera che sto impostazione è per Correzione automatica invece di completamento automatico):

mEditText.setInputType(InputType.TYPE_CLASS_TEXT 
      | InputType.TYPE_TEXT_FLAG_CAP_WORDS 
      | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT); 

che è extra-confusione, dal momento che guardando la documentazione per TYPE_TEXT_FLAG_AUTO_CORRECT, sembra che che dovrebbe in realtà essere invalidante completamento automatico .

TL; DR: Come diavolo si abilita il completamento automatico su un Lollipop EditText che si prevede di ottenere un indirizzo e-mail?

risposta

2

Nick Butcher ha un ottimo post su questo.

+1

Ciò è sicuramente utile se voglio utilizzare l'account manager per questo, ma su DesignatedNerd

Problemi correlati