FileDocCategorySizeDatePackage
CompletionInfo.javaAPI DocAndroid 5.1 API6134Thu Mar 12 22:22:10 GMT 2015android.view.inputmethod

CompletionInfo

public final class CompletionInfo extends Object implements android.os.Parcelable
Information about a single text completion that an editor has reported to an input method.

This class encapsulates a completion offered by an application that wants it to be presented to the user by the IME. Usually, apps present their completions directly in a scrolling list for example (UI developers will usually use or extend {@see android.widget.AutoCompleteTextView} to implement this). However, in some cases, the editor may not be visible, as in the case in extract mode where the IME has taken over the full screen. In this case, the editor can choose to send their completions to the IME for display.

Most applications who want to send completions to an IME should use {@link android.widget.AutoCompleteTextView} as this class makes this process easy. In this case, the application would not have to deal directly with this class.

An application who implements its own editor and wants direct control over this would create an array of CompletionInfo objects, and send it to the IME using {@link InputMethodManager#displayCompletions(View, CompletionInfo[])}. The IME would present the completions however they see fit, and call back to the editor through {@link InputConnection#commitCompletion(CompletionInfo)}. The application can then pick up the commit event by overriding {@link android.widget.TextView#onCommitCompletion(CompletionInfo)}.

Fields Summary
private final long
mId
private final int
mPosition
private final CharSequence
mText
private final CharSequence
mLabel
public static final Parcelable.Creator
CREATOR
Used to make this class parcelable.
Constructors Summary
public CompletionInfo(long id, int index, CharSequence text)
Create a simple completion with just text, no label.

param
id An id that get passed as is (to the editor's discretion)
param
index An index that get passed as is. Typically this is the index in the list of completions inside the editor.
param
text The text that should be inserted into the editor when this completion is chosen.

        mId = id;
        mPosition = index;
        mText = text;
        mLabel = null;
    
public CompletionInfo(long id, int index, CharSequence text, CharSequence label)
Create a full completion with both text and label. The text is what will get inserted into the editor, while the label is what the IME should display. If they are the same, use the version of the constructor without a `label' argument.

param
id An id that get passed as is (to the editor's discretion)
param
index An index that get passed as is. Typically this is the index in the list of completions inside the editor.
param
text The text that should be inserted into the editor when this completion is chosen.
param
label The text that the IME should be showing among the completions list.

        mId = id;
        mPosition = index;
        mText = text;
        mLabel = label;
    
private CompletionInfo(android.os.Parcel source)

        mId = source.readLong();
        mPosition = source.readInt();
        mText = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(source);
        mLabel = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(source);
    
Methods Summary
public intdescribeContents()


       
        return 0;
    
public longgetId()
Return the abstract identifier for this completion, typically corresponding to the id associated with it in the original adapter.

        return mId;
    
public java.lang.CharSequencegetLabel()
Return the user-visible label for the completion, or null if the plain text should be shown. If non-null, this will be what the user sees as the completion option instead of the actual text.

        return mLabel;
    
public intgetPosition()
Return the original position of this completion, typically corresponding to its position in the original adapter.

        return mPosition;
    
public java.lang.CharSequencegetText()
Return the actual text associated with this completion. This is the real text that will be inserted into the editor if the user selects it.

        return mText;
    
public java.lang.StringtoString()

        return "CompletionInfo{#" + mPosition + " \"" + mText
                + "\" id=" + mId + " label=" + mLabel + "}";
    
public voidwriteToParcel(android.os.Parcel dest, int flags)
Used to package this object into a {@link Parcel}.

param
dest The {@link Parcel} to be written.
param
flags The flags used for parceling.

        dest.writeLong(mId);
        dest.writeInt(mPosition);
        TextUtils.writeToParcel(mText, dest, flags);
        TextUtils.writeToParcel(mLabel, dest, flags);