EditText без автокоррекции и т. Д.

Мой EditText должен принимать ввод, состоящий из частичных слов, имен и т. Д. По крайней мере в моем HTC Desire это сложно, поскольку клавиатура хочет предлагать и / или исправлять некоторые записи (например, изменяет "gor" на "for"). Я попытался установить textNoSuggestions в представлении, но это не исправило это.

Любое простое решение этого?

4 ответа

Решение

Вы можете сделать это из кода. Установите тип ввода EditText, как показано ниже:

txtEmail = (EditText) findViewById(R.id.txtEmail);
txtEmail.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

Список всех доступных параметров типа ввода см. По http://developer.android.com/reference/android/text/InputType.html

Попробуй это:

android:inputType="textFilter"

Если это не сработает, попробуйте:

android:inputType="textFilter|textNoSuggestions"

Другие предложения верны, но SwiftKey решил, что будет игнорировать значения inputtype "в ответ на пользовательские запросы". Хотя я согласен, что это плохая идея, поскольку она противоречит рекомендациям Google, и у разработчиков обычно есть веская причина отключить автокоррекцию (например, поля имени пользователя, фамилии и т. Д.), Но она по-прежнему является наиболее часто используемым клавиатурным приложением для устройств Android, так что это может быть большой проблемой.

Обходной путь должен использовать либо

android:inputType="textVisiblePassword"

или же

.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);

Попробуйте это, если вы хотите многострочный EditText без отображения подчеркивания (автокоррекция):

    myEditText.setInputType(InputType.TYPE_CLASS_TEXT | 
       InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

Вот XML для этого: android:inputType="textNoSuggestions|textMultiLine",

Другие вопросы по тегам