Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Ice Cream Sandwich Edittext: Disabling Spell Check and Word Wrap

Whilst testing on the Android Emulator running Android 4.0 (Ice Cream Sandwich), I have noticed that the Edittext does some quite strange things.

Firstly, it underlines every word identified as "misspelt" in red. How do I disable this? Secondly, although in the layout XML I have specified android:scrollHorizontally="true" word-wrap is enabled: how do I disable this as well? Here is the Layout XML code for the Edittext:

    <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>

Here is an example of the spell checker I need to disable:

Demonstration of Spell-Checker
(source: abstract-thoughts.com)

Thanks very much!

like image 941
Henry Thompson Avatar asked Jan 25 '12 23:01

Henry Thompson


4 Answers

Disabling Spell-Checking
In order to get rid of spell checking you must specify the EditText's InputType in the XML as the following:

android:inputType="textNoSuggestions"

However, my EditText needed also to be multiline, so I have added the following line to the EditText's XML:

android:inputType="textMultiLine|textNoSuggestions"

Disabling Word-Wrap
As noted, the XML attribute android:scrollHorizontally="true" does not work. However, strangely, if it is done through Java it does work. Here is the necessary code to achieve no word wrapping:

mEditText.setHorizontallyScrolling(true);

like image 130
Henry Thompson Avatar answered Nov 17 '22 11:11

Henry Thompson


Disabling Spell-Checking in EditText.

In Android 4.0+ sometimes I get a red underline in my Textview so i add the property ...

android:inputType="textNoSuggestions" 

textNoSuggestions: to indicate that the IME should not show any dictionary-based word suggestions.

Here is a list of possible properties that we can define in : android:inputType

Disabling Word-Wrap

remember that the property android:scrollHorizontally="true" doesn't work, so this is the solution:

mEditText.setHorizontallyScrolling(true);
like image 28
Jorgesys Avatar answered Nov 17 '22 12:11

Jorgesys


In your Java class you can add to the Edittext object...

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

This clears out the autocorrect flag and will work in API 4.

like image 9
user823014 Avatar answered Nov 17 '22 12:11

user823014


android:inputType="textMultiLine|textPhonetic"

removed all red underlines for me.

android:inputType="textMultiLine|textNoSuggestions"

produces compilation error.

I use Android API 1.6.

like image 7
bancer Avatar answered Nov 17 '22 12:11

bancer