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.

Summary

Constants

String 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 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 was deprecated in API level 29. See ACTION_SUGGESTION_PICKED.

String SUGGESTION_SPAN_PICKED_BEFORE

This constant was deprecated in API level 29. See ACTION_SUGGESTION_PICKED.

String SUGGESTION_SPAN_PICKED_HASHCODE

This constant was deprecated in API level 29. See ACTION_SUGGESTION_PICKED.

Inherited constants

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 was deprecated in API level 24. 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

Constants

ACTION_SUGGESTION_PICKED

Added in API level 14
Deprecated in API level 29
public static final String 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 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

Added in API level 15
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

Added in API level 14
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

Added in API level 31
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

Added in API level 14
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

Added in API level 14
public static final int SUGGESTIONS_MAX_SIZE

Constant Value: 5 (0x00000005)

SUGGESTION_SPAN_PICKED_AFTER

Added in API level 14
Deprecated in API level 29
public static final String SUGGESTION_SPAN_PICKED_AFTER

This constant was deprecated in API level 29.
See ACTION_SUGGESTION_PICKED.

This is deprecated in Build.VERSION_CODES.Q.

Constant Value: "after"

SUGGESTION_SPAN_PICKED_BEFORE

Added in API level 14
Deprecated in API level 29
public static final String SUGGESTION_SPAN_PICKED_BEFORE

This constant was deprecated in API level 29.
See ACTION_SUGGESTION_PICKED.

This is deprecated in Build.VERSION_CODES.Q.

Constant Value: "before"

SUGGESTION_SPAN_PICKED_HASHCODE

Added in API level 14
Deprecated in API level 29
public static final String SUGGESTION_SPAN_PICKED_HASHCODE

This constant was deprecated in API level 29.
See ACTION_SUGGESTION_PICKED.

This is deprecated in Build.VERSION_CODES.Q.

Constant Value: "hashcode"

Fields

CREATOR

Added in API level 14
public static final Creator<SuggestionSpan> CREATOR

Public constructors

SuggestionSpan

Added in API level 14
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

Added in API level 14
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

Added in API level 14
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

Added in API level 14
public SuggestionSpan (Parcel src)

Parameters
src Parcel

Public methods

describeContents

Added in API level 14
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

Added in API level 14
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.

Parameters
o Object: This value may be null.

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

getFlags

Added in API level 14
public int getFlags ()

Returns
int

getLocale

Added in API level 14
Deprecated in API level 24
public String getLocale ()

This method was deprecated in API level 24.
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

Added in API level 24
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

Added in API level 14
public int getSpanTypeId ()

Return a special type identifier for this span class.

Returns
int

getSuggestions

Added in API level 14
public String[] getSuggestions ()

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

getUnderlineColor

Added in API level 29
public int getUnderlineColor ()

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

hashCode

Added in API level 14
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 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 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.

Returns
int a hash code value for this object.

setFlags

Added in API level 14
public void setFlags (int flags)

Parameters
flags int

updateDrawState

Added in API level 14
public void updateDrawState (TextPaint tp)

Parameters
tp TextPaint

writeToParcel

Added in API level 14
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. This value cannot be null.

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