Язык

IInputConnection.DeleteSurroundingText(Int32, Int32) Метод

Определение

Удалите <var до символов var перед текущей позицией курсора и удалите ><символы var afterLength></var>< после текущей позиции курсора после текущей позиции курсора, за исключением выделенного фрагмента.>

[Android.Runtime.Register("deleteSurroundingText", "(II)Z", "GetDeleteSurroundingText_IIHandler:Android.Views.InputMethods.IInputConnectionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public bool DeleteSurroundingText(int beforeLength, int afterLength);
[<Android.Runtime.Register("deleteSurroundingText", "(II)Z", "GetDeleteSurroundingText_IIHandler:Android.Views.InputMethods.IInputConnectionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member DeleteSurroundingText : int * int -> bool

Параметры

beforeLength
Int32

Число символов перед удалением курсора в единице кода. Если это больше числа существующих символов между началом текста и курсором, этот метод не завершается ошибкой, но удаляет все символы в этом диапазоне.

afterLength
Int32

Число символов после удаления курсора в единице кода. Если это больше числа существующих символов между курсором и концом текста, этот метод не завершается ошибкой, но удаляет все символы в этом диапазоне.

Возвращаемое значение

Значение true при успешном выполнении, значение false, если входное подключение больше не является допустимым.

Атрибуты

Комментарии

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

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

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

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

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

Java документации по android.view.inputmethod.InputConnection.deleteSurroundingText(int, int).

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

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