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)
, но будьте осторожны, чтобы ждать, пока пакетное изменение не будет закончено, если он выполняется.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.