# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Constants | Inherited Constants | Fields | Ctors | Methods | Inherited Methods

# SuggestionSpan

`public class SuggestionSpan`
`` `extends CharacterStyle` `implements ParcelableSpan`

java.lang.Object
↳ | android.text.style.CharacterStyle
| ↳ | android.text.style.SuggestionSpan

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:

- `TextView.isSuggestionsEnabled()`

## Summary

### Constants
`String` | `ACTION_SUGGESTION_PICKED` This constant is deprecated. For IMEs to receive this kind of user interaction signals, implement IMEs' own suggestion picker UI instead of relying on `SuggestionSpan`. To retrieve bounding boxes for each character of the composing text, use `CursorAnchorInfo`.
`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.
`int` | `FLAG_EASY_CORRECT` Sets this flag if the suggestions should be easily accessible with few interactions.
`int` | `FLAG_GRAMMAR_ERROR` Sets this flag if the suggestions apply to a grammar error.
`int` | `FLAG_MISSPELLED` Sets this flag if the suggestions apply to a misspelled word/text.
`int` | `SUGGESTIONS_MAX_SIZE`
`String` | `SUGGESTION_SPAN_PICKED_AFTER` This constant is deprecated. See `ACTION_SUGGESTION_PICKED`.
`String` | `SUGGESTION_SPAN_PICKED_BEFORE` This constant is deprecated. See `ACTION_SUGGESTION_PICKED`.
`String` | `SUGGESTION_SPAN_PICKED_HASHCODE` This constant is deprecated. See `ACTION_SUGGESTION_PICKED`.

### Inherited constants
From interface `android.os.Parcelable`
`int` | `CONTENTS_FILE_DESCRIPTOR` Descriptor bit used with `describeContents()`: indicates that the Parcelable object's flattened representation includes a file descriptor.
`int` | `PARCELABLE_WRITE_RETURN_VALUE` Flag for use with `writeToParcel(Parcel, int)`: 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 Creator<SuggestionSpan>` | `CREATOR`

### Public constructors
`SuggestionSpan(Context context, String[] suggestions, int flags)`
`SuggestionSpan(Locale locale, String[] suggestions, int flags)`
`SuggestionSpan(Context context, Locale locale, String[] suggestions, int flags, Class<?> notificationTargetClass)`
`SuggestionSpan(Parcel src)`

### Public methods
`int` | `describeContents()` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.
`boolean` | `equals(Object o)` Indicates whether some other object is "equal to" this one.
`int` | `getFlags()`
`String` | `getLocale()` This method is deprecated. use `getLocaleObject()` instead.
`Locale` | `getLocaleObject()` Returns a well-formed BCP 47 language tag representation of the suggestions, as a `Locale` object.
`int` | `getSpanTypeId()` Return a special type identifier for this span class.
`String[]` | `getSuggestions()`
`int` | `getUnderlineColor()`
`int` | `hashCode()` Returns a hash code value for the object.
`void` | `setFlags(int flags)`
`void` | `updateDrawState(TextPaint tp)`
`void` | `writeToParcel(Parcel dest, int flags)` Flatten this object in to a Parcel.

### Inherited methods
From class `android.text.style.CharacterStyle`
`CharacterStyle` | `getUnderlying()` Returns "this" for most CharacterStyles, but for CharacterStyles that were generated by `wrap(CharacterStyle)`, returns the underlying CharacterStyle.
`abstract void` | `updateDrawState(TextPaint tp)`
`static CharacterStyle` | `wrap(CharacterStyle cs)` A given CharacterStyle can only applied to a single region of a given Spanned.
From class `java.lang.Object`
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`void` | `finalize()` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
`final Class<?>` | `getClass()` Returns the runtime class of this `Object`.
`int` | `hashCode()` Returns a hash code value for the object.
`final void` | `notify()` Wakes up a single thread that is waiting on this object's monitor.
`final void` | `notifyAll()` Wakes up all threads that are waiting on this object's monitor.
`String` | `toString()` Returns a string representation of the object.
`final void` | `wait(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.
From interface `android.text.ParcelableSpan`
`abstract int` | `getSpanTypeId()` Return a special type identifier for this span class.
From interface `android.os.Parcelable`
`abstract int` | `describeContents()` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.
`abstract void` | `writeToParcel(Parcel dest, int flags)` Flatten this object in to a Parcel.

## Constants

### ACTION_SUGGESTION_PICKED

    public static final String ACTION_SUGGESTION_PICKED

This constant is deprecated.
For IMEs to receive this kind of user interaction signals, implement IMEs' own suggestion picker UI instead of relying on `SuggestionSpan`. To retrieve bounding boxes for each character of the composing text, use `CursorAnchorInfo`.

This action is deprecated in `Build.VERSION_CODES.Q`.

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

### FLAG_AUTO_CORRECTION

    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.

Constant Value: 4 (0x00000004)

### FLAG_EASY_CORRECT

    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.

Constant Value: 1 (0x00000001)

### FLAG_GRAMMAR_ERROR

    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.

Constant Value: 8 (0x00000008)

### FLAG_MISSPELLED

    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.

Constant Value: 2 (0x00000002)

### SUGGESTIONS_MAX_SIZE

    public static final int SUGGESTIONS_MAX_SIZE

Constant Value: 5 (0x00000005)

### SUGGESTION_SPAN_PICKED_AFTER

    public static final String SUGGESTION_SPAN_PICKED_AFTER

This constant is deprecated.
See `ACTION_SUGGESTION_PICKED`.

This is deprecated in `Build.VERSION_CODES.Q`.

Constant Value: "after"

### SUGGESTION_SPAN_PICKED_BEFORE

    public static final String SUGGESTION_SPAN_PICKED_BEFORE

This constant is deprecated.
See `ACTION_SUGGESTION_PICKED`.

This is deprecated in `Build.VERSION_CODES.Q`.

Constant Value: "before"

### SUGGESTION_SPAN_PICKED_HASHCODE

    public static final String SUGGESTION_SPAN_PICKED_HASHCODE

This constant is deprecated.
See `ACTION_SUGGESTION_PICKED`.

This is deprecated in `Build.VERSION_CODES.Q`.

Constant Value: "hashcode"

## Fields

### CREATOR

    public static final Creator<SuggestionSpan> CREATOR

## Public constructors

### SuggestionSpan

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

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

### SuggestionSpan

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

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

### SuggestionSpan

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

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

### SuggestionSpan

    public SuggestionSpan (Parcel src)

Parameters
`src` | `Parcel`

## Public methods

### describeContents

    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 `writeToParcel(android.os.Parcel, int)`, the return value of this method must include the `CONTENTS_FILE_DESCRIPTOR` bit.

Returns
`int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or `CONTENTS_FILE_DESCRIPTOR`

### equals

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

The `equals` method for class `Object` implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values `x` and `y`, this method returns `true` if and only if `x` and `y` refer to the same object (`x == y` has the value `true`).

Note that it is generally necessary to override the `hashCode` method whenever this method is overridden, so as to maintain the general contract for the `hashCode` method, which states that equal objects must have equal hash codes.

Parameters
`o` | `Object`: This value may be `null`.

Returns
`boolean` | `true` if this object is the same as the obj argument; `false` otherwise.

### getFlags

    public int getFlags ()

Returns
`int` |

### getLocale

    public String getLocale ()

This method is deprecated.
use `getLocaleObject()` instead.

Returns
`String` | the locale of the suggestions. An empty string is returned if no locale is specified. This value cannot be `null`.

### getLocaleObject

    public Locale getLocaleObject ()

Returns a well-formed BCP 47 language tag representation of the suggestions, as a `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 `Locale` object, e.g. `new Locale(" a ", " b c d ", " "`.

Returns
`Locale` | the locale of the suggestions. `null` is returned if no locale is specified.

### getSpanTypeId

    public int getSpanTypeId ()

Return a special type identifier for this span class.

Returns
`int` |

### getSuggestions

    public String[] getSuggestions ()

Returns
`String[]` | an array of suggestion texts for this span

### getUnderlineColor

    public int getUnderlineColor ()

Returns
`int` | The color of the underline for that span, or 0 if there is no underline

### hashCode

    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 `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 `equals(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 `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.

As much as is reasonably practical, the hashCode method defined by class `Object` does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the Java™ programming language.)

Returns
`int` | a hash code value for this object.

### setFlags

    public void setFlags (int flags)

Parameters
`flags` | `int`

### updateDrawState

    public void updateDrawState (TextPaint tp)

Parameters
`tp` | `TextPaint`

### writeToParcel

    public void writeToParcel (Parcel dest,
                    int flags)

Flatten this object in to a Parcel.

Parameters
`dest` | `Parcel`: The Parcel in which the object should be written.
`flags` | `int`: Additional flags about how the object should be written. May be 0 or `Parcelable.PARCELABLE_WRITE_RETURN_VALUE`. Value is either `0` or a combination of `Parcelable.PARCELABLE_WRITE_RETURN_VALUE`, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*