Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Constants](https://developer.android.com/reference/android/text/style/SuggestionSpan#constants) \| [Inherited Constants](https://developer.android.com/reference/android/text/style/SuggestionSpan#inhconstants) \| [Fields](https://developer.android.com/reference/android/text/style/SuggestionSpan#lfields) \| [Ctors](https://developer.android.com/reference/android/text/style/SuggestionSpan#pubctors) \| [Methods](https://developer.android.com/reference/android/text/style/SuggestionSpan#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/text/style/SuggestionSpan#inhmethods)

# SuggestionSpan

*** ** * ** ***

` public class SuggestionSpan `   
` ` ` extends https://developer.android.com/reference/android/text/style/CharacterStyle ` ` implements https://developer.android.com/reference/android/text/ParcelableSpan `

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [android.text.style.CharacterStyle](https://developer.android.com/reference/android/text/style/CharacterStyle) ||
|   | ↳ | android.text.style.SuggestionSpan |

<br />

*** ** * ** ***

Holds suggestion candidates for the text enclosed in this span. When such a span is edited in an EditText, double tapping on the text enclosed in this span will display a popup dialog listing suggestion replacement for that text. The user can then replace the original text by one of the suggestions. These spans should typically be created by the input method to provide correction and alternates for the text.
**See also:**

- `https://developer.android.com/reference/android/widget/TextView#isSuggestionsEnabled()`

## Summary

| ### Constants ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/text/style/SuggestionSpan#ACTION_SUGGESTION_PICKED` *This constant was deprecated in API level 29. For IMEs to receive this kind of user interaction signals, implement IMEs' own suggestion picker UI instead of relying on `https://developer.android.com/reference/android/text/style/SuggestionSpan`. To retrieve bounding boxes for each character of the composing text, use `https://developer.android.com/reference/android/view/inputmethod/CursorAnchorInfo`.* |
| `int` | `https://developer.android.com/reference/android/text/style/SuggestionSpan#FLAG_AUTO_CORRECTION` Sets this flag if the auto correction is about to be applied to a word/text that the user is typing/composing. |
| `int` | `https://developer.android.com/reference/android/text/style/SuggestionSpan#FLAG_EASY_CORRECT` Sets this flag if the suggestions should be easily accessible with few interactions. |
| `int` | `https://developer.android.com/reference/android/text/style/SuggestionSpan#FLAG_GRAMMAR_ERROR` Sets this flag if the suggestions apply to a grammar error. |
| `int` | `https://developer.android.com/reference/android/text/style/SuggestionSpan#FLAG_MISSPELLED` Sets this flag if the suggestions apply to a misspelled word/text. |
| `int` | `https://developer.android.com/reference/android/text/style/SuggestionSpan#SUGGESTIONS_MAX_SIZE` <br /> |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/text/style/SuggestionSpan#SUGGESTION_SPAN_PICKED_AFTER` *This constant was deprecated in API level 29. See `https://developer.android.com/reference/android/text/style/SuggestionSpan#ACTION_SUGGESTION_PICKED`.* |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/text/style/SuggestionSpan#SUGGESTION_SPAN_PICKED_BEFORE` *This constant was deprecated in API level 29. See `https://developer.android.com/reference/android/text/style/SuggestionSpan#ACTION_SUGGESTION_PICKED`.* |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/text/style/SuggestionSpan#SUGGESTION_SPAN_PICKED_HASHCODE` *This constant was deprecated in API level 29. See `https://developer.android.com/reference/android/text/style/SuggestionSpan#ACTION_SUGGESTION_PICKED`.* |

### Inherited constants

From interface `https://developer.android.com/reference/android/os/Parcelable` `int` `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR`

Descriptor bit used with `https://developer.android.com/reference/android/os/Parcelable#describeContents()`: indicates that the Parcelable object's flattened representation includes a file descriptor.
`int` `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`

Flag for use with `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`: the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`".

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/os/Parcelable.Creator<https://developer.android.com/reference/android/text/style/SuggestionSpan>` | `https://developer.android.com/reference/android/text/style/SuggestionSpan#CREATOR` <br /> |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/text/style/SuggestionSpan#SuggestionSpan(android.content.Context,%20java.lang.String[],%20int)(https://developer.android.com/reference/android/content/Context context, https://developer.android.com/reference/java/lang/String suggestions, int flags) ` |
| ` https://developer.android.com/reference/android/text/style/SuggestionSpan#SuggestionSpan(android.content.Context,%20java.util.Locale,%20java.lang.String[],%20int,%20java.lang.Class<?>)(https://developer.android.com/reference/android/content/Context context, https://developer.android.com/reference/java/util/Locale locale, https://developer.android.com/reference/java/lang/String suggestions, int flags, https://developer.android.com/reference/java/lang/Class<?> notificationTargetClass) ` |
| ` https://developer.android.com/reference/android/text/style/SuggestionSpan#SuggestionSpan(android.os.Parcel)(https://developer.android.com/reference/android/os/Parcel src) ` |
| ` https://developer.android.com/reference/android/text/style/SuggestionSpan#SuggestionSpan(java.util.Locale,%20java.lang.String[],%20int)(https://developer.android.com/reference/java/util/Locale locale, https://developer.android.com/reference/java/lang/String suggestions, int flags) ` |

| ### Public methods ||
|---|---|
| ` int` | ` https://developer.android.com/reference/android/text/style/SuggestionSpan#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| ` boolean` | ` https://developer.android.com/reference/android/text/style/SuggestionSpan#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object o) ` Indicates whether some other object is "equal to" this one. |
| ` int` | ` https://developer.android.com/reference/android/text/style/SuggestionSpan#getFlags()() ` |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/text/style/SuggestionSpan#getLocale()() ` *This method was deprecated in API level 24. use `https://developer.android.com/reference/android/text/style/SuggestionSpan#getLocaleObject()` instead.* |
| ` https://developer.android.com/reference/java/util/Locale` | ` https://developer.android.com/reference/android/text/style/SuggestionSpan#getLocaleObject()() ` Returns a well-formed BCP 47 language tag representation of the suggestions, as a `https://developer.android.com/reference/java/util/Locale` object. |
| ` int` | ` https://developer.android.com/reference/android/text/style/SuggestionSpan#getSpanTypeId()() ` Return a special type identifier for this span class. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/text/style/SuggestionSpan#getSuggestions()() ` |
| ` int` | ` https://developer.android.com/reference/android/text/style/SuggestionSpan#getUnderlineColor()() ` |
| ` int` | ` https://developer.android.com/reference/android/text/style/SuggestionSpan#hashCode()() ` Returns a hash code value for the object. |
| ` void` | ` https://developer.android.com/reference/android/text/style/SuggestionSpan#setFlags(int)(int flags) ` |
| ` void` | ` https://developer.android.com/reference/android/text/style/SuggestionSpan#updateDrawState(android.text.TextPaint)(https://developer.android.com/reference/android/text/TextPaint tp) ` <br /> |
| ` void` | ` https://developer.android.com/reference/android/text/style/SuggestionSpan#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) ` Flatten this object in to a Parcel. |

### Inherited methods

From class ` https://developer.android.com/reference/android/text/style/CharacterStyle ` ` https://developer.android.com/reference/android/text/style/CharacterStyle` ` https://developer.android.com/reference/android/text/style/CharacterStyle#getUnderlying()() `

Returns "this" for most CharacterStyles, but for CharacterStyles that were generated by `https://developer.android.com/reference/android/text/style/CharacterStyle#wrap(android.text.style.CharacterStyle)`, returns the underlying CharacterStyle.
` abstract void` ` https://developer.android.com/reference/android/text/style/CharacterStyle#updateDrawState(android.text.TextPaint)(https://developer.android.com/reference/android/text/TextPaint tp) ` ` static https://developer.android.com/reference/android/text/style/CharacterStyle` ` https://developer.android.com/reference/android/text/style/CharacterStyle#wrap(android.text.style.CharacterStyle)(https://developer.android.com/reference/android/text/style/CharacterStyle cs) `

A given CharacterStyle can only applied to a single region of a given Spanned.
From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.
From interface ` https://developer.android.com/reference/android/text/ParcelableSpan ` ` abstract int` ` https://developer.android.com/reference/android/text/ParcelableSpan#getSpanTypeId()() `

Return a special type identifier for this span class.
From interface ` https://developer.android.com/reference/android/os/Parcelable ` ` abstract int` ` https://developer.android.com/reference/android/os/Parcelable#describeContents()() `

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.
` abstract void` ` https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) `

Flatten this object in to a Parcel.

## Constants

### ACTION_SUGGESTION_PICKED

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)   
Deprecated in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String ACTION_SUGGESTION_PICKED
```

<br />

**This constant was deprecated in API level 29.**   

For IMEs to receive this kind of user interaction signals, implement IMEs' own suggestion picker UI instead of relying on `https://developer.android.com/reference/android/text/style/SuggestionSpan`. To retrieve bounding boxes for each character of the composing text, use `https://developer.android.com/reference/android/view/inputmethod/CursorAnchorInfo`.

This action is deprecated in `https://developer.android.com/reference/android/os/Build.VERSION_CODES#Q`.

<br />

Constant Value: "android.text.style.SUGGESTION_PICKED"

### FLAG_AUTO_CORRECTION

Added in [API level 15](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_AUTO_CORRECTION
```

Sets this flag if the auto correction is about to be applied to a word/text that the user is typing/composing. This type of suggestion is rendered differently to indicate the auto correction is happening.

<br />

Constant Value: 4 (0x00000004)

### FLAG_EASY_CORRECT

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_EASY_CORRECT
```

Sets this flag if the suggestions should be easily accessible with few interactions. This flag should be set for every suggestions that the user is likely to use.

<br />

Constant Value: 1 (0x00000001)

### FLAG_GRAMMAR_ERROR

Added in [API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_GRAMMAR_ERROR
```

Sets this flag if the suggestions apply to a grammar error. This type of suggestion is rendered differently to highlight the error.

<br />

Constant Value: 8 (0x00000008)

### FLAG_MISSPELLED

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_MISSPELLED
```

Sets this flag if the suggestions apply to a misspelled word/text. This type of suggestion is rendered differently to highlight the error.

<br />

Constant Value: 2 (0x00000002)

### SUGGESTIONS_MAX_SIZE

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int SUGGESTIONS_MAX_SIZE
```

<br />

<br />

Constant Value: 5 (0x00000005)

### SUGGESTION_SPAN_PICKED_AFTER

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)   
Deprecated in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String SUGGESTION_SPAN_PICKED_AFTER
```

<br />

**This constant was deprecated in API level 29.**   

See `https://developer.android.com/reference/android/text/style/SuggestionSpan#ACTION_SUGGESTION_PICKED`.

This is deprecated in `https://developer.android.com/reference/android/os/Build.VERSION_CODES#Q`.

<br />

Constant Value: "after"

### SUGGESTION_SPAN_PICKED_BEFORE

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)   
Deprecated in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String SUGGESTION_SPAN_PICKED_BEFORE
```

<br />

**This constant was deprecated in API level 29.**   

See `https://developer.android.com/reference/android/text/style/SuggestionSpan#ACTION_SUGGESTION_PICKED`.

This is deprecated in `https://developer.android.com/reference/android/os/Build.VERSION_CODES#Q`.

<br />

Constant Value: "before"

### SUGGESTION_SPAN_PICKED_HASHCODE

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)   
Deprecated in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String SUGGESTION_SPAN_PICKED_HASHCODE
```

<br />

**This constant was deprecated in API level 29.**   

See `https://developer.android.com/reference/android/text/style/SuggestionSpan#ACTION_SUGGESTION_PICKED`.

This is deprecated in `https://developer.android.com/reference/android/os/Build.VERSION_CODES#Q`.

<br />

Constant Value: "hashcode"

## Fields

### CREATOR

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final Creator<SuggestionSpan> CREATOR
```

<br />

<br />

## Public constructors

### SuggestionSpan

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SuggestionSpan (Context context, 
                String[] suggestions, 
                int flags)
```

<br />

<br />

| Parameters ||
|---|---|
| `context` | `Context`: Context for the application <br /> |
| `suggestions` | `String`: Suggestions for the string under the span <br /> |
| `flags` | `int`: Additional flags indicating how this span is handled in TextView <br /> |

### SuggestionSpan

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SuggestionSpan (Context context, 
                Locale locale, 
                String[] suggestions, 
                int flags, 
                Class<?> notificationTargetClass)
```

<br />

<br />

| Parameters ||
|---|---|
| `context` | `Context`: Context for the application <br /> |
| `locale` | `Locale`: locale Locale of the suggestions <br /> |
| `suggestions` | `String`: Suggestions for the string under the span. Only the first up to `https://developer.android.com/reference/android/text/style/SuggestionSpan#SUGGESTIONS_MAX_SIZE` will be considered. Null values not permitted. <br /> |
| `flags` | `int`: Additional flags indicating how this span is handled in TextView <br /> |
| `notificationTargetClass` | `Class`: if not null, this class will get notified when the user selects one of the suggestions. On Android `https://developer.android.com/reference/android/os/Build.VERSION_CODES#Q` and later this parameter is always ignored. <br /> |

### SuggestionSpan

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SuggestionSpan (Parcel src)
```

<br />

<br />

| Parameters ||
|---|---|
| `src` | `Parcel` <br /> |

### SuggestionSpan

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SuggestionSpan (Locale locale, 
                String[] suggestions, 
                int flags)
```

<br />

<br />

| Parameters ||
|---|---|
| `locale` | `Locale`: Locale of the suggestions <br /> |
| `suggestions` | `String`: Suggestions for the string under the span <br /> |
| `flags` | `int`: Additional flags indicating how this span is handled in TextView <br /> |

## Public methods

### describeContents

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int describeContents ()
```

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`, the return value of this method must include the `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` bit.

<br />

| Returns ||
|---|---|
| `int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or - `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` |

### equals

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean equals (Object o)
```

Indicates whether some other object is "equal to" this one.

The `equals` method implements an equivalence relation on non-null object references:

- It is *reflexive*: for any non-null reference value `x`, `x.equals(x)` should return `true`.
- It is *symmetric*: for any non-null reference values `x` and `y`, `x.equals(y)` should return `true` if and only if `y.equals(x)` returns `true`.
- It is *transitive*: for any non-null reference values `x`, `y`, and `z`, if `x.equals(y)` returns `true` and `y.equals(z)` returns `true`, then `x.equals(z)` should return `true`.
- It is *consistent*: for any non-null reference values `x` and `y`, multiple invocations of `x.equals(y)` consistently return `true` or consistently return `false`, provided no information used in `equals` comparisons on the objects is modified.
- For any non-null reference value `x`, `x.equals(null)` should return `false`.

An equivalence relation partitions the elements it operates on into *equivalence classes*; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

<br />

| Parameters ||
|---|---|
| `o` | `Object`: This value may be `null`. <br /> |

| Returns ||
|---|---|
| `boolean` | `true` if this object is the same as the obj argument; `false` otherwise. <br /> |

### getFlags

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getFlags ()
```

<br />

<br />

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

### getLocale

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)   
Deprecated in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String getLocale ()
```

<br />

**This method was deprecated in API level 24.**   

use `https://developer.android.com/reference/android/text/style/SuggestionSpan#getLocaleObject()` instead.

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | the locale of the suggestions. An empty string is returned if no locale is specified. This value cannot be `null`. <br /> |

### getLocaleObject

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Locale getLocaleObject ()
```

Returns a well-formed BCP 47 language tag representation of the suggestions, as a `https://developer.android.com/reference/java/util/Locale` object.

**Caveat** : The returned object is guaranteed to be a a well-formed BCP 47 language tag representation. For example, this method can return an empty locale rather than returning a malformed data when this object is initialized with an malformed `https://developer.android.com/reference/java/util/Locale` object, e.g. `new Locale(" a ", " b c d ", " "`.

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/Locale` | the locale of the suggestions. `null` is returned if no locale is specified. <br /> |

### getSpanTypeId

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getSpanTypeId ()
```

Return a special type identifier for this span class.

<br />

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

### getSuggestions

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String[] getSuggestions ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | an array of suggestion texts for this span <br /> |

### getUnderlineColor

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getUnderlineColor ()
```

<br />

<br />

| Returns ||
|---|---|
| `int` | The color of the underline for that span, or 0 if there is no underline <br /> |

### hashCode

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int hashCode ()
```

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by `https://developer.android.com/reference/java/util/HashMap`.

The general contract of `hashCode` is:

- Whenever it is invoked on the same object more than once during an execution of a Java application, the `hashCode` method must consistently return the same integer, provided no information used in `equals` comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
- If two objects are equal according to the `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce the same integer result.
- It is *not* required that if two objects are unequal according to the `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

<br />

<br />

| Returns ||
|---|---|
| `int` | a hash code value for this object. <br /> |

### setFlags

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void setFlags (int flags)
```

<br />

<br />

| Parameters ||
|---|---|
| `flags` | `int` <br /> |

### updateDrawState

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void updateDrawState (TextPaint tp)
```

<br />

<br />

| Parameters ||
|---|---|
| `tp` | `TextPaint` <br /> |

### writeToParcel

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void writeToParcel (Parcel dest, 
                int flags)
```

Flatten this object in to a Parcel.

<br />

| Parameters ||
|---|---|
| `dest` | `Parcel`: The Parcel in which the object should be written. This value cannot be `null`. <br /> |
| `flags` | `int`: Additional flags about how the object should be written. May be 0 or `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` |