InputMethod.AccessibilityInputConnection.DeleteSurroundingText 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
刪除 <var>前<>/當前游標位置前的文字字元,刪除 <var 後<>的 var>/var 字元,排除選取區。
[Android.Runtime.Register("deleteSurroundingText", "(II)V", "", ApiSince=33)]
public void DeleteSurroundingText(int beforeLength, int afterLength);
[<Android.Runtime.Register("deleteSurroundingText", "(II)V", "", ApiSince=33)>]
member this.DeleteSurroundingText : int * int -> unit
參數
- beforeLength
- Int32
游標前要刪除的字元數,以代碼單位表示。 如果這個數值超過文字開頭與游標之間現有字元數,則此方法不會失敗,而是刪除該範圍內的所有字元。
- afterLength
- Int32
游標後要刪除的字元數,以程式碼單位表示。 如果這個數值超過游標與文字結尾之間現有字元數,則此方法不會失敗,而是刪除該範圍內的所有字元。
- 屬性
備註
刪除 <var>前<>/當前游標位置前的文字字元,刪除 <var 後<>的 var>/var 字元,排除選取區。 前後對比是指字串中字元的順序,而非視覺表示:這表示你不必去判斷文字的方向,只需使用索引 as-is。
長度以 Java 字元提供,而非代碼點或字形。
由於此方法只適用於選取前後的文字,因此無法影響選取的內容。 如果組圖範圍包含要刪除的字元,可能會影響創作範圍,否則不會改變。 如果組合區間中的某些字元被刪除,該組合區間會持續存在,但會因移除的字元數量而縮短。
<強力>無障礙服務作者:</strong> ,請小心不要只刪除替代配對的一半。 同時也要注意不要刪除超過編輯器中字元數量的字元,否則可能會對應用程式產生不良影響。 呼叫此方法會讓編輯者在批次輸入結束後呼叫 InputMethod#onUpdateSelection(int, int, int, int, int, int) 你的服務。
<強 編輯>作者:</strong> 請在實施此呼喚時注意競賽條件。 IME 可以修改文字或更改選取位置,並立即使用此方法;你需要確保效果與最新編輯的結果一致。 另外,雖然 IME 不應該傳送超過字串內容的長度,但你應該檢查值是否有溢位,並將索引修剪成內容大小以避免當機。 由於這會改變編輯器的內容,你需要透過呼叫 InputMethodManager#updateSelection(android.view.View, int, int, int, int),讓輸入法知道這些變更,但如果批次編輯正在進行中,請小心等到批次編輯結束後再進行。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。