CompletionInfopublic final class CompletionInfo extends Object implements android.os.ParcelableInformation 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 | CREATORUsed to make this class parcelable. |
Constructors Summary |
---|
public CompletionInfo(long id, int index, CharSequence text)Create a simple completion with just text, no label.
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.
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 int | describeContents()
return 0;
| public long | getId()Return the abstract identifier for this completion, typically
corresponding to the id associated with it in the original adapter.
return mId;
| public java.lang.CharSequence | getLabel()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 int | getPosition()Return the original position of this completion, typically
corresponding to its position in the original adapter.
return mPosition;
| public java.lang.CharSequence | getText()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.String | toString()
return "CompletionInfo{#" + mPosition + " \"" + mText
+ "\" id=" + mId + " label=" + mLabel + "}";
| public void | writeToParcel(android.os.Parcel dest, int flags)Used to package this object into a {@link Parcel}.
dest.writeLong(mId);
dest.writeInt(mPosition);
TextUtils.writeToParcel(mText, dest, flags);
TextUtils.writeToParcel(mLabel, dest, flags);
|
|