IInputConnection.SetComposingText 方法

定义

重载

名称 说明
SetComposingText(ICharSequence, Int32)

将当前撰写的文本替换为给定文本,并设置新的光标位置。

SetComposingText(ICharSequence, Int32, TextAttribute)

的变体。#setComposingText(CharSequence, int)

SetComposingText(String, Int32, TextAttribute)

的变体。#setComposingText(CharSequence, int)

SetComposingText(ICharSequence, Int32)

将当前撰写的文本替换为给定文本,并设置新的光标位置。

[Android.Runtime.Register("setComposingText", "(Ljava/lang/CharSequence;I)Z", "GetSetComposingText_Ljava_lang_CharSequence_IHandler:Android.Views.InputMethods.IInputConnectionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public bool SetComposingText(Java.Lang.ICharSequence? text, int newCursorPosition);
[<Android.Runtime.Register("setComposingText", "(Ljava/lang/CharSequence;I)Z", "GetSetComposingText_Ljava_lang_CharSequence_IHandler:Android.Views.InputMethods.IInputConnectionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member SetComposingText : Java.Lang.ICharSequence * int -> bool

参数

text
ICharSequence

如有必要,使用样式撰写文本。 如果没有附加到文本的样式对象,则使用用于撰写文本的默认样式。 了解如何 android.text.Spanned 将样式对象附加到文本。 android.text.SpannableString 接口 android.text.SpannableStringBuilder 的两个 android.text.Spanned实现。

newCursorPosition
Int32

文本周围的新光标位置。 如果 > 为 0,则相对于文本末尾 - 1;如果 <= 0,则相对于文本开头。 因此,在插入全文后,值 1 将始终转到位置。 请注意,这意味着不能将光标定位在文本中,因为编辑器可以对提供的文本进行修改,因此无法正确指定该位置。

返回

如果输入连接不再有效,则为 true;如果输入连接不再有效,则为 true。

属性

注解

将当前撰写的文本替换为给定文本,并设置新的光标位置。 将自动删除之前设置的任何撰写文本。

如果当前有任何组合范围处于活动状态,则会删除它包含的所有字符。 传递的文本将添加到其位置,并且将撰写范围添加到此文本中。 如果没有活动撰写范围,则传递的文本将添加到光标位置(首先删除所选字符(如果有),并在新文本上添加撰写范围。 最后,光标移动到指定 newCursorPosition的位置。

这通常由 IME 调用,以添加或删除撰写范围中的字符。 调用此方法将导致编辑器在批处理输入结束后调用 android.inputmethodservice.InputMethodService#onUpdateSelection(int, int, int, int, int, int) 当前 IME。

<强编辑器作者:>/strong<> 请记住,文本可能与调用时撰写范围中的内容非常相似或完全不同,或者可能根本不存在撰写范围。 请注意,虽然这不是典型的用法,但字符串可能为空。 通常处理此问题,将当前撰写的文本替换为空字符串。 此外,请谨慎使用光标位置。 IME 完全依赖于上述工作。 由于这会更改编辑器的内容,因此需要通过调用 InputMethodManager#updateSelection(View, int, int, int, int)对输入法进行已知更改,但请小心等待,直到批处理编辑正在进行时结束。 请注意,此方法可以在撰写文本的边缘或完全位于该文本的边缘上设置光标位置,但 IME 还可以继续在后续调用中将光标位置移动到撰写文本中,因此您根本不应该做出任何假设:撰写文本和所选内容是完全独立的。

适用于 . 的 android.view.inputmethod.InputConnection.setComposingText(java.lang.CharSequence, int)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于

SetComposingText(ICharSequence, Int32, TextAttribute)

的变体。#setComposingText(CharSequence, int)

[Android.Runtime.Register("setComposingText", "(Ljava/lang/CharSequence;ILandroid/view/inputmethod/TextAttribute;)Z", "GetSetComposingText_Ljava_lang_CharSequence_ILandroid_view_inputmethod_TextAttribute_Handler:Android.Views.InputMethods.IInputConnection, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=33)]
public virtual bool SetComposingText(Java.Lang.ICharSequence text, int newCursorPosition, Android.Views.InputMethods.TextAttribute? textAttribute);
[<Android.Runtime.Register("setComposingText", "(Ljava/lang/CharSequence;ILandroid/view/inputmethod/TextAttribute;)Z", "GetSetComposingText_Ljava_lang_CharSequence_ILandroid_view_inputmethod_TextAttribute_Handler:Android.Views.InputMethods.IInputConnection, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=33)>]
abstract member SetComposingText : Java.Lang.ICharSequence * int * Android.Views.InputMethods.TextAttribute -> bool
override this.SetComposingText : Java.Lang.ICharSequence * int * Android.Views.InputMethods.TextAttribute -> bool

参数

text
ICharSequence

如有必要,使用样式撰写文本。 如果没有附加到文本的样式对象,则使用用于撰写文本的默认样式。 了解如何 android.text.Spanned 将样式对象附加到文本。 android.text.SpannableString 接口 android.text.SpannableStringBuilder 的两个 android.text.Spanned实现。

newCursorPosition
Int32

文本周围的新光标位置。 如果 > 为 0,则相对于文本末尾 - 1;如果 <= 0,则相对于文本开头。 因此,在插入全文后,值 1 将始终转到位置。 请注意,这意味着不能将光标定位在文本中,因为编辑器可以对提供的文本进行修改,因此无法正确指定该位置。

textAttribute
TextAttribute

有关文本的额外信息。

返回

如果输入连接不再有效,则为 true;如果输入连接不再有效,则为 true。

属性

注解

的变体。#setComposingText(CharSequence, int) 此方法用于允许 IME 在设置撰写文本时提供额外信息。

适用于 . 的 android.view.inputmethod.InputConnection.setComposingText(java.lang.CharSequence, int, android.view.inputmethod.TextAttribute)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于

SetComposingText(String, Int32, TextAttribute)

的变体。#setComposingText(CharSequence, int)

public virtual bool SetComposingText(string text, int newCursorPosition, Android.Views.InputMethods.TextAttribute? textAttribute);
abstract member SetComposingText : string * int * Android.Views.InputMethods.TextAttribute -> bool
override this.SetComposingText : string * int * Android.Views.InputMethods.TextAttribute -> bool

参数

text
String

如有必要,使用样式撰写文本。 如果没有附加到文本的样式对象,则使用用于撰写文本的默认样式。 了解如何 android.text.Spanned 将样式对象附加到文本。 android.text.SpannableString 接口 android.text.SpannableStringBuilder 的两个 android.text.Spanned实现。

newCursorPosition
Int32

文本周围的新光标位置。 如果 > 为 0,则相对于文本末尾 - 1;如果 <= 0,则相对于文本开头。 因此,在插入全文后,值 1 将始终转到位置。 请注意,这意味着不能将光标定位在文本中,因为编辑器可以对提供的文本进行修改,因此无法正确指定该位置。

textAttribute
TextAttribute

有关文本的额外信息。

返回

如果输入连接不再有效,则为 true;如果输入连接不再有效,则为 true。

注解

的变体。#setComposingText(CharSequence, int) 此方法用于允许 IME 在设置撰写文本时提供额外信息。

适用于 . 的 android.view.inputmethod.InputConnection.setComposingText(java.lang.CharSequence, int, android.view.inputmethod.TextAttribute)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于