# EmojiEditTextHelper

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  
belongs to Maven artifact com.android.support:support-emoji:28.0.0-alpha1  
Summary:[Ctors](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiEditTextHelper#pubctors)\|[Methods](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiEditTextHelper#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiEditTextHelper#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiEditTextHelper#)  

# EmojiEditTextHelper

| This package is part of the Android[support library](https://developer.android.com/topic/libraries/support-library)which is no longer maintained. The support library has been superseded by[AndroidX](https://developer.android.com/jetpack/androidx)which is part of[Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider[migrating](https://developer.android.com/jetpack/androidx/migrate)existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library[class mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).

`
public

final

class
EmojiEditTextHelper
`  
`

extends Object


``


`

|---|-------------------------------------------------------|
| java.lang.Object                                         ||
| ↳ | android.support.text.emoji.widget.EmojiEditTextHelper |

<br />

*** ** * ** ***

Utility class to enhance custom EditText widgets with[EmojiCompat](https://developer.android.com/reference/android/support/text/emoji/EmojiCompat).

<br />

```
 public class MyEmojiEditText extends EditText {
      public MyEmojiEditText(Context context) {
          super(context);
          init();
      }
      // ...
      private void init() {
          super.setKeyListener(getEmojiEditTextHelper().getKeyListener(getKeyListener()));
      }

      @Override
      public void setKeyListener(android.text.method.KeyListener keyListener) {
          super.setKeyListener(getEmojiEditTextHelper().getKeyListener(keyListener));
      }

      @Override
      public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
          InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
          return getEmojiEditTextHelper().onCreateInputConnection(inputConnection, outAttrs);
      }

      private EmojiEditTextHelper getEmojiEditTextHelper() {
          if (mEmojiEditTextHelper == null) {
              mEmojiEditTextHelper = new EmojiEditTextHelper(this);
          }
          return mEmojiEditTextHelper;
      }
 }
 
```

<br />

## Summary

|                                                                                                                                   ### Public constructors                                                                                                                                    ||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[EmojiEditTextHelper](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiEditTextHelper#EmojiEditTextHelper(android.widget.EditText))`(`[EditText](https://developer.android.com/reference/android/widget/EditText.html)` editText) ` Default constructor. |

|                                                                                                                                                                                                                                                                                                            ### Public methods                                                                                                                                                                                                                                                                                                             ||
|-------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` `[KeyListener](https://developer.android.com/reference/android/text/method/KeyListener.html)              | ` `[getKeyListener](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiEditTextHelper#getKeyListener(android.text.method.KeyListener))`(`[KeyListener](https://developer.android.com/reference/android/text/method/KeyListener.html)` keyListener) ` Attaches EmojiCompat KeyListener to the widget.                                                                                                                                                                                             |
| ` int`                                                                                                      | ` `[getMaxEmojiCount](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiEditTextHelper#getMaxEmojiCount())`() ` Returns the maximum number of EmojiSpans to be added to a CharSequence.                                                                                                                                                                                                                                                                                                         |
| ` `[InputConnection](https://developer.android.com/reference/android/view/inputmethod/InputConnection.html) | ` `[onCreateInputConnection](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiEditTextHelper#onCreateInputConnection(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo))`(`[InputConnection](https://developer.android.com/reference/android/view/inputmethod/InputConnection.html)` inputConnection, `[EditorInfo](https://developer.android.com/reference/android/view/inputmethod/EditorInfo.html)` outAttrs) ` Updates the InputConnection with emoji support. |
| ` void`                                                                                                     | ` `[setMaxEmojiCount](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiEditTextHelper#setMaxEmojiCount(int))`(int maxEmojiCount) ` Set the maximum number of EmojiSpans to be added to a CharSequence.                                                                                                                                                                                                                                                                                         |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiEditTextHelper#)From class` java.lang.Object ` |-------------------|-------------------------------| | ` Object`         | ` clone() `                   | | ` boolean`        | ` equals(Object arg0) `       | | ` void`           | ` finalize() `                | | ` final Class<?>` | ` getClass() `                | | ` int`            | ` hashCode() `                | | ` final void`     | ` notify() `                  | | ` final void`     | ` notifyAll() `               | | ` String`         | ` toString() `                | | ` final void`     | ` wait(long arg0, int arg1) ` | | ` final void`     | ` wait(long arg0) `           | | ` final void`     | ` wait() `                    | ||

## Public constructors

### EmojiEditTextHelper

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
EmojiEditTextHelper (EditText editText)
```

Default constructor.

<br />

|                    Parameters                    ||
|------------|--------------------------------------|
| `editText` | `EditText`: EditText instance <br /> |

## Public methods

### getKeyListener

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
KeyListener getKeyListener (KeyListener keyListener)
```

Attaches EmojiCompat KeyListener to the widget. Should be called from[setKeyListener(KeyListener)](https://developer.android.com/reference/android/widget/TextView.html#setKeyListener(android.text.method.KeyListener)). Existing keyListener is wrapped into EmojiCompat KeyListener. When used on devices running API 18 or below, this method returns`keyListener`that is given as a parameter.

<br />

|                                                                                                   Parameters                                                                                                    ||
|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `keyListener` | `KeyListener`: KeyListener passed into[setKeyListener(KeyListener)](https://developer.android.com/reference/android/widget/TextView.html#setKeyListener(android.text.method.KeyListener)) <br /> |

|                                                                         Returns                                                                         ||
|---------------------------------------------------------------------------------------------|------------------------------------------------------------|
| [KeyListener](https://developer.android.com/reference/android/text/method/KeyListener.html) | a new KeyListener instance that wraps`keyListener`. <br /> |

### getMaxEmojiCount

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
int getMaxEmojiCount ()
```

Returns the maximum number of EmojiSpans to be added to a CharSequence.

<br />

|    Returns    ||
|-------|--------|
| `int` | <br /> |

**See also:**

- [setMaxEmojiCount(int)](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiEditTextHelper#setMaxEmojiCount(int))
- [process(CharSequence, int, int, int)](https://developer.android.com/reference/android/support/text/emoji/EmojiCompat#process(java.lang.CharSequence, int, int, int))  

### onCreateInputConnection

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
InputConnection onCreateInputConnection (InputConnection inputConnection, 
                EditorInfo outAttrs)
```

Updates the InputConnection with emoji support. Should be called from[onCreateInputConnection(EditorInfo)](https://developer.android.com/reference/android/widget/TextView.html#onCreateInputConnection(android.view.inputmethod.EditorInfo)). When used on devices running API 18 or below, this method returns`inputConnection`that is given as a parameter. If`inputConnection`is`null`, returns`null`.

<br />

|                                                                                                               Parameters                                                                                                               ||
|-------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `inputConnection` | `InputConnection`: InputConnection instance created by TextView <br />                                                                                                                                              |
| `outAttrs`        | `EditorInfo`: EditorInfo passed into[onCreateInputConnection(EditorInfo)](https://developer.android.com/reference/android/widget/TextView.html#onCreateInputConnection(android.view.inputmethod.EditorInfo)) <br /> |

|                                                                                   Returns                                                                                   ||
|----------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------|
| [InputConnection](https://developer.android.com/reference/android/view/inputmethod/InputConnection.html) | a new InputConnection instance that wraps`inputConnection` <br /> |

### setMaxEmojiCount

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void setMaxEmojiCount (int maxEmojiCount)
```

Set the maximum number of EmojiSpans to be added to a CharSequence. The number of spans in a CharSequence affects the performance of the EditText insert/delete operations. Insert/delete operations slow down as the number of spans increases.

<br />

<br />

<br />

|                                                             Parameters                                                              ||
|-----------------|--------------------------------------------------------------------------------------------------------------------|
| `maxEmojiCount` | `int`: maximum number of EmojiSpans to be added to a single CharSequence, should be equal or greater than 0 <br /> |

**See also:**

- [process(CharSequence, int, int, int)](https://developer.android.com/reference/android/support/text/emoji/EmojiCompat#process(java.lang.CharSequence, int, int, int))  
-

  ## Classes

  - [EmojiAppCompatButton](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiAppCompatButton)
  - [EmojiAppCompatEditText](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiAppCompatEditText)
  - [EmojiAppCompatTextView](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiAppCompatTextView)
  - [EmojiButton](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiButton)
  - [EmojiEditText](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiEditText)
  - [EmojiEditTextHelper](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiEditTextHelper)
  - [EmojiExtractTextLayout](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiExtractTextLayout)
  - [EmojiTextView](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiTextView)
  - [EmojiTextViewHelper](https://developer.android.com/reference/android/support/text/emoji/widget/EmojiTextViewHelper)