InputMethod.AccessibilityInputConnection.DeleteSurroundingText メソッド

定義

<現在のカーソル位置の前にあるテキストの var>beforeLength</var> 文字を削除し、現在のカーソル位置の後の文字列の var>afterLength</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>beforeLength</var> 文字を削除し、現在のカーソル位置の後の文字列の var>afterLength</var> 文字を削除<します (選択範囲を除く)。 前後は、視覚的表現ではなく、文字列内の文字の順序を参照します。つまり、テキストの方向を把握する必要がなく、インデックスをそのまま使用できます。

長さは、コード ポイントやグリフではなく、Java 文字で指定されます。

このメソッドは選択範囲の前後のテキストでのみ動作するため、選択範囲の内容に影響を与えることはできません。 スパンに削除する文字が含まれている場合、作成スパンに影響を与える可能性がありますが、それ以外の場合は変更されません。 作成スパン内の一部の文字が削除されると、作成スパンは保持されますが、その中の多くの文字が削除されたことで短縮されます。

<強力な>アクセシビリティ サービス作成者:</strong> サロゲート ペアの半分のみを削除しないように注意してください。 また、アプリケーションに悪影響を及ぼす可能性があるため、エディターよりも多くの文字を削除しないように注意してください。 このメソッドを呼び出すと、バッチ入力が終了した後、エディターはサービスで を呼び出 InputMethod#onUpdateSelection(int, int, int, int, int, int) します。

<強力な>編集者:</強は> 、この呼び出しを実装する上で競合状態に注意してください。 IME では、テキストを変更したり、選択位置を変更したりして、このメソッドをすぐに使用できます。効果が最新の編集結果と一致していることを確認する必要があります。 また、IME は文字列の内容よりも長い長さを送信しないようにする必要がありますが、オーバーフローの値をチェックし、インデックスをコンテンツのサイズにトリミングしてクラッシュを回避する必要があります。 これによりエディターの内容が変更されるため、 を呼び出 InputMethodManager#updateSelection(android.view.View, int, int, int, int)して入力メソッドに変更を反映させる必要がありますが、バッチ編集が進行中の場合は、バッチ編集が終了するまで待つよう注意してください。

android.accessibilityservice.InputMethod.AccessibilityInputConnection.deleteSurroundingText(int, int)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象