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

Android Ice Cream Sandwich Edittext: Отключение проверки орфографии и Word Wrap

Во время тестирования на Android Emulator под управлением Android 4.0 (Ice Cream Sandwich) я заметил, что Edittext делает довольно странные вещи.

Во-первых, оно подчеркивает каждое слово, обозначенное как "опечатка" красным цветом. Как мне это отключить? Во-вторых, хотя в макете XML, который я указал, включено включение переноса слов android:scrollHorizontally="true": как мне это тоже отключить? Вот XML-код макета для текста редактирования:

    <EditText
        android:id="@+id/editor"
        android:layout_width="40dp"
        android:layout_height="fill_parent"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/toolbar"
        android:layout_toRightOf="@+id/toolbarleft"
        android:paddingBottom="0dp"
        android:paddingRight="0dp"
        android:scrollHorizontally="true"
        android:text=""
        android:inputType="textMultiLine" >

        <requestFocus />
    </Edittext>

Вот пример проверки орфографии, которую мне нужно отключить:

Demonstration of Spell-Checker
(источник: abstract-oughtts.com)

Большое спасибо!

4b9b3361

Ответ 1

Отключение проверки орфографии
Чтобы избавиться от проверки орфографии, вы должны указать EditText InputType в XML следующим образом:

android:inputType="textNoSuggestions"

Однако мой EditText также должен быть многострочным, поэтому я добавил следующую строку в XML файл EditText:

android:inputType="textMultiLine|textNoSuggestions"

Отключение Word-Wrap
Как уже отмечалось, атрибут XML android:scrollHorizontally="true" не работает. Однако, как ни странно, если это делается через Java, это действительно работает. Вот нужный код, чтобы не допустить переноса слов:

mEditText.setHorizontallyScrolling(true);

Ответ 2

Отключение проверки орфографии в EditText.

В Android 4.0+ иногда я получаю красную подчеркивание в своем текстовом виде, поэтому добавляю свойство...

android:inputType="textNoSuggestions" 

textNoSuggestions: чтобы указать, что IME не должен показывать никаких словарные предложения слов.

Вот список возможных свойств, которые мы можем определить в: android: inputType

Отключение Word-Wrap

помните, что свойство android:scrollHorizontally="true" не работает, поэтому это решение:

mEditText.setHorizontallyScrolling(true);

Ответ 3

В вашем классе Java вы можете добавить объект Edittext...

  wire1type = (EditText)findViewById(R.id.wire1type);
  wire1type.setInputType( ~(InputType.TYPE_TEXT_FLAG_AUTO_CORRECT) );

Это очищает флаг автозамены и будет работать в API 4.

Ответ 4

android:inputType="textMultiLine|textPhonetic"

удалил все красные подчеркивания для меня.

android:inputType="textMultiLine|textNoSuggestions"

создает ошибку компиляции.

Я использую Android API 1.6.

Ответ 5

Отключение проверки орфографии для общего ввода текста по коду:

mEditText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

Ответ 6

удалите android:inputType="", и все должно быть хорошо.

Ответ 7

Чтобы отключить перенос строк, вы должны обернуть (каламбур не предназначен) ваш EditText с помощью HorizontalScrollView и установить layout_width в match_parent.