IInputConnection.GetTextBeforeCursorFormatted(Int32, GetTextFlags) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取 <当前光标位置前文本的 var>n</var> 字符。
[Android.Runtime.Register("getTextBeforeCursor", "(II)Ljava/lang/CharSequence;", "GetGetTextBeforeCursor_IIHandler:Android.Views.InputMethods.IInputConnectionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public Java.Lang.ICharSequence? GetTextBeforeCursorFormatted (int n, Android.Views.InputMethods.GetTextFlags flags);
[<Android.Runtime.Register("getTextBeforeCursor", "(II)Ljava/lang/CharSequence;", "GetGetTextBeforeCursor_IIHandler:Android.Views.InputMethods.IInputConnectionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member GetTextBeforeCursorFormatted : int * Android.Views.InputMethods.GetTextFlags -> Java.Lang.ICharSequence
参数
- n
- Int32
文本的预期长度。 这必须是非负的。
- flags
- GetTextFlags
提供用于控制如何返回文本的其他选项。 可以是或 0
#GET_TEXT_WITH_STYLES
。
返回
光标位置前的文本;返回的文本长度可能小于 <var>n</var>。
- 属性
注解
获取 <当前光标位置前文本的 var>n</var> 字符。
如果输入连接变得无效(例如进程崩溃),或者编辑器因文本响应时间过长(返回几秒钟),此方法可能会失败。 在任一情况下,返回 null。 此方法不会以任何方式影响编辑器中的文本,也不会影响所选内容或撰写范围。
如果 #GET_TEXT_WITH_STYLES
以标志的形式提供,编辑器应返回 android.text.SpannableString
文本上设置的所有跨度。
<强>IME 作者:</strong> 请考虑这会触发 IPC 往返,这需要一些时间。 假设此方法占用大量时间。 此外,请记住,编辑器可能会选择返回的字符数少于所请求的字符,即使出于性能原因。 如果使用此方法获取游标的初始文本,可以考虑使用 EditorInfo#getInitialTextBeforeCursor(int, int)
, EditorInfo#getInitialSelectedText(int)
并 EditorInfo#getInitialTextAfterCursor(int, int)
防止 IPC 成本。
<强编辑作者:</强>>请谨慎执行此调用的争用条件。 IME 可以更改文本并立即使用此方法:需要确保返回的值与最新编辑的结果一致。 此外,如果性能指示,可能会返回小于 n 个字符,但请记住,对于许多函数,IME 依赖于此函数:例如,不应将返回的值限制为当前行,并且特别不要返回 0 个字符,除非游标确实在文本开头。
适用于 . 的 android.view.inputmethod.InputConnection.getTextBeforeCursor(int, int)
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。