Added in API level 1

EditText


open class EditText : TextView
kotlin.Any
   ↳ android.view.View
   ↳ android.widget.TextView
   ↳ android.widget.EditText

A user interface element for entering and modifying text. When you define an edit text widget, you must specify the android.R.styleable#TextView_inputType attribute. For example, for plain text input set inputType to "text":

<EditText
      android:id="@+id/plain_text_input"
      android:layout_height="wrap_content"
      android:layout_width="match_parent"
      android:inputType="text"/>
Choosing the input type configures the keyboard type that is shown, acceptable characters, and appearance of the edit text. For example, if you want to accept a secret number, like a unique pin or serial number, you can set inputType to numberPassword. An input type of numberPassword results in an edit text that accepts numbers only, shows a numeric keyboard when focused, and masks the text that is entered for privacy.

See the Text Fields guide for examples of other android.R.styleable#TextView_inputType settings.

You also can receive callbacks as a user changes text by adding a android.text.TextWatcher to the edit text. This is useful when you want to add auto-save functionality as changes are made, or validate the format of user input, for example. You add a text watcher using the TextView.addTextChangedListener method.

This widget does not support auto-sizing text.

XML attributes

See EditText Attributes, TextView Attributes, View Attributes

Summary

XML attributes
android:enableTextStylingShortcuts Enables styling shortcuts, e.
Inherited XML attributes
Inherited constants
Public constructors
EditText(context: Context!)

EditText(context: Context!, attrs: AttributeSet!)

EditText(context: Context!, attrs: AttributeSet!, defStyleAttr: Int)

EditText(context: Context!, attrs: AttributeSet!, defStyleAttr: Int, defStyleRes: Int)

Public methods
open Unit

Convenience for Selection.extendSelection.

open CharSequence!

Return the class name of this object to be used for accessibility purposes.

open Boolean

Return whether this text view is including its entire text contents in frozen icicles.

open Editable!

Return the text that TextView is displaying.

open Boolean

Return true if style shortcut is enabled, otherwise returns false.

open Boolean
onKeyShortcut(keyCode: Int, event: KeyEvent!)

Called on the focused view when a key shortcut event is not handled.

open Boolean

Called when a context menu option for the text view is selected.

open Unit

Convenience for Selection.selectAll.

open Unit

Causes words in the text that are longer than the view's width to be ellipsized instead of broken in the middle.

open Unit
setSelection(index: Int)

Convenience for Selection.setSelection(Spannable, int).

open Unit
setSelection(start: Int, stop: Int)

Convenience for Selection.setSelection(Spannable, int, int).

open Unit

Enables styls shortcuts, e.

open Unit

Sets the text to be displayed and the android.widget.TextView.BufferType.

Protected methods
open Boolean

Subclasses override this to specify that they have a KeyListener by default even if not specifically called for in the XML options.

open MovementMethod!

Subclasses override this to specify a default movement method.

Inherited functions
Inherited properties

XML attributes

android:enableTextStylingShortcuts

android:enableTextStylingShortcuts
Enables styling shortcuts, e.g. Ctrl+B for bold. This is off by default.

May be a boolean value, such as "true" or "false".

Public constructors

EditText

Added in API level 1
EditText(context: Context!)

EditText

Added in API level 1
EditText(
    context: Context!,
    attrs: AttributeSet!)

EditText

Added in API level 1
EditText(
    context: Context!,
    attrs: AttributeSet!,
    defStyleAttr: Int)

EditText

Added in API level 21
EditText(
    context: Context!,
    attrs: AttributeSet!,
    defStyleAttr: Int,
    defStyleRes: Int)

Public methods

extendSelection

Added in API level 1
open fun extendSelection(index: Int): Unit

Convenience for Selection.extendSelection.

getAccessibilityClassName

Added in API level 23
open fun getAccessibilityClassName(): CharSequence!

Return the class name of this object to be used for accessibility purposes. Subclasses should only override this if they are implementing something that should be seen as a completely new class of view when used by accessibility, unrelated to the class it is deriving from. This is used to fill in AccessibilityNodeInfo.setClassName.

getFreezesText

Added in API level 1
open fun getFreezesText(): Boolean

Return whether this text view is including its entire text contents in frozen icicles. For android.widget.EditText it always returns true.

Return
Boolean Returns true if text is included, false if it isn't.

getText

Added in API level 1
open fun getText(): Editable!

Return the text that TextView is displaying. If setText(java.lang.CharSequence) was called with an argument of BufferType.SPANNABLE or BufferType.EDITABLE, you can cast the return value from this method to Spannable or Editable, respectively.

The content of the return value should not be modified. If you want a modifiable one, you should make your own copy first.

Return
Editable! The text displayed by the text view.

isStyleShortcutEnabled

Added in API level 34
open fun isStyleShortcutEnabled(): Boolean

Return true if style shortcut is enabled, otherwise returns false.

Return
Boolean true if style shortcut is enabled, otherwise returns false.

onKeyShortcut

Added in API level 1
open fun onKeyShortcut(
    keyCode: Int,
    event: KeyEvent!
): Boolean

Called on the focused view when a key shortcut event is not handled. Override this method to implement local key shortcuts for the View. Key shortcuts can also be implemented by setting the shortcut property of menu items.

Parameters
keyCode Int: The value in event.getKeyCode().
event KeyEvent!: Description of the key event.
Return
Boolean If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false.

onTextContextMenuItem

Added in API level 3
open fun onTextContextMenuItem(id: Int): Boolean

Called when a context menu option for the text view is selected. Currently this will be one of android.R.id#selectAll, android.R.id#cut, android.R.id#copy, android.R.id#paste, android.R.id#pasteAsPlainText (starting at API level 23) or android.R.id#shareText.

Return
Boolean true if the context menu item action was performed.

selectAll

Added in API level 1
open fun selectAll(): Unit

Convenience for Selection.selectAll.

setEllipsize

Added in API level 1
open fun setEllipsize(ellipsis: TextUtils.TruncateAt!): Unit

Causes words in the text that are longer than the view's width to be ellipsized instead of broken in the middle. TextUtils.TruncateAt#MARQUEE is not supported.

Parameters
ellipsis TextUtils.TruncateAt!: Type of ellipsis to be applied.
Exceptions
java.lang.IllegalArgumentException When the value of ellipsis parameter is TextUtils.TruncateAt.MARQUEE.

setSelection

Added in API level 1
open fun setSelection(index: Int): Unit

Convenience for Selection.setSelection(Spannable, int).

setSelection

Added in API level 1
open fun setSelection(
    start: Int,
    stop: Int
): Unit

Convenience for Selection.setSelection(Spannable, int, int).

setStyleShortcutsEnabled

Added in API level 34
open fun setStyleShortcutsEnabled(enabled: Boolean): Unit

Enables styls shortcuts, e.g. Ctrl+B for making text bold.

Parameters
enabled Boolean: true for enabled, false for disabled.

setText

Added in API level 1
open fun setText(
    text: CharSequence!,
    type: TextView.BufferType!
): Unit

Sets the text to be displayed and the android.widget.TextView.BufferType.

When required, TextView will use android.text.Spannable.Factory to create final or intermediate Spannables. Likewise it will use android.text.Editable.Factory to create final or intermediate Editables. Subclasses overriding this method should ensure that the following post condition holds, in order to guarantee the safety of the view's measurement and layout operations: regardless of the input, after calling #setText both mText and mTransformed will be different from null.
Parameters
text CharSequence!: text to be displayed
type TextView.BufferType!: a android.widget.TextView.BufferType which defines whether the text is stored as a static text, styleable/spannable text, or editable text

Protected methods

getDefaultEditable

Added in API level 1
protected open fun getDefaultEditable(): Boolean

Subclasses override this to specify that they have a KeyListener by default even if not specifically called for in the XML options.

getDefaultMovementMethod

Added in API level 1
protected open fun getDefaultMovementMethod(): MovementMethod!

Subclasses override this to specify a default movement method.