共用方式為


IInputConnection.GetTextBeforeCursorFormatted(Int32, GetTextFlags) 方法

定義

取得 <目前游標位置之前的文字 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 ,並在文字上設定所有範圍。

<強>輸入法作者:</strong> 請考慮這會觸發 IPC 來回行程,這需要一些時間。 假設此方法會耗用很多時間。 此外,請記住,編輯器可能會選擇傳回比要求少的字元,即使因為效能原因而可用。 如果您使用這個 來取得游標周圍的初始文字,您可以考慮使用 EditorInfo#getInitialTextBeforeCursor(int, int)EditorInfo#getInitialSelectedText(int)EditorInfo#getInitialTextAfterCursor(int, int) 來避免 IPC 成本。

<強>編輯作者:</強> 請小心競爭條件,以實作此呼叫。 輸入法可以變更文字,並立即使用此方法;您必須確定傳回的值與最新編輯的結果一致。 此外,如果效能指定,您可能會傳回小於 n 個字元,但請記住,IES 會依賴此函數進行許多函式:例如,您不應該將傳回的值限制為目前的行,而且除非游標確實在文字開頭,否則不會傳回 0 個字元。

android.view.inputmethod.InputConnection.getTextBeforeCursor(int, int)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於