# Print output for @column tags ?> SuggestionSpan - Android SDK | Android Developers

Most visited

Recently visited

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:

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_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

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

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_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: the reference object with which to compare.

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