Поделиться через


InputMethod.AccessibilityInputConnection.DeleteSurroundingText Метод

Определение

>Удалите <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 перед символами текста перед текущей позицией курсора и удалите <символы var>afterLength<</var>> после текущей позиции курсора, за исключением выделенного фрагмента. Прежде и после ссылки на порядок символов в строке, а не к их визуальному представлению: это означает, что вам не нужно выяснить направление текста и просто использовать индексы как есть.

Длина предоставляется в символах Java, а не в точках кода или в глифах.

Так как этот метод работает только с текстом до и после выделения, он не может повлиять на содержимое выделенного фрагмента. Это может повлиять на диапазон создания, если диапазон содержит символы, которые необходимо удалить, но в противном случае не измените его. Если некоторые символы в диапазоне создания удаляются, диапазон создания сохраняется, но сокращается, однако многие символы внутри него удалены.

<надежные>авторы службы специальных возможностей:</strong> пожалуйста, не следует удалять только половину суррогатной пары. Кроме того, не следует удалять больше символов, чем в редакторе, так как это может иметь плохое влияние на приложение. Вызов этого метода приведет к вызову InputMethod#onUpdateSelection(int, int, int, int, int, int) редактора службы после завершения пакетного ввода.

<>сильные авторы редактора:</strong> пожалуйста, внимательно следите за условиями гонки при реализации этого вызова. IME может внести изменения в текст или изменить положение выделения и сразу использовать этот метод; Необходимо убедиться, что эффекты согласованы с результатами последних изменений. Кроме того, хотя IME не должен отправлять длину больше содержимого строки, следует проверить значения переполнения и обрезать индексы до размера содержимого, чтобы избежать сбоев. Так как это изменяет содержимое редактора, необходимо внести изменения, известные методу ввода путем вызова InputMethodManager#updateSelection(android.view.View, int, int, int, int), но будьте осторожны, чтобы ждать, пока пакетное изменение не будет закончено, если он выполняется.

Документация по Java для android.accessibilityservice.InputMethod.AccessibilityInputConnection.deleteSurroundingText(int, int).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к