Подтвердить что ты не робот

Android: EditText.setInputType(), как настроить для электронной почты, но не автоматически предлагать

Я использую поле EditText для ввода пользователем своего адреса электронной почты.

Я установил его, используя:

box.setInputType( InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS );

В результате появляется мягкая клавиатура с кнопками "@" и ".". (и некоторых клавиш ".com" ) на начальной раскладке клавиатуры. Отлично, что я хочу.

Однако, я заметил, что текст все черный (когда я указал белый). Я обнаружил, что это связано с автоматической подсказкой. Если я перейду в Settings->Languages/Keyboards->Touch Input->TextInput и отключить Prediction и Word Completion, тогда текст будет отображаться белым.

Теперь вопрос: как мне получить автоматическое завершение программно отключено для этого?

Я попытался настроить поле, выполнив:

box.setInputType( InputType.TYPE_CLASS_TEXT | TYPE_TEXT_FLAG_NO_SUGGESTIONS );

В результате получается весь белый текст (т.е. автоматическое предложение). Но тогда у меня больше кнопок электронной почты "@" и ".com"! Ба-шарлатанство.

В любом случае, чтобы получить оба? Спасибо.

4b9b3361

Ответ 1

Этот код должен сделать трюк:

box.setInputType( InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS );

Вы можете добавить столько флагов, сколько хотите, если они совместимы друг с другом.