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
,並在文字上設定所有範圍。
<強>輸入法作者:</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 屬性授權中所述的詞彙使用。