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


IInputConnection.GetTextBeforeCursorFormatted(Int32, GetTextFlags) Метод

Определение

Получите <символы var>n</var> текста перед текущей позицией курсора.

[Android.Runtime.Register("getTextBeforeCursor", "(II)Ljava/lang/CharSequence;", "GetGetTextBeforeCursor_IIHandler:Android.Views.InputMethods.IInputConnectionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public Java.Lang.ICharSequence? GetTextBeforeCursorFormatted(int n, Android.Views.InputMethods.GetTextFlags flags);
[<Android.Runtime.Register("getTextBeforeCursor", "(II)Ljava/lang/CharSequence;", "GetGetTextBeforeCursor_IIHandler:Android.Views.InputMethods.IInputConnectionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member GetTextBeforeCursorFormatted : int * Android.Views.InputMethods.GetTextFlags -> Java.Lang.ICharSequence

Параметры

n
Int32

Ожидаемая длина текста. Это должно быть не отрицательным.

flags
GetTextFlags

Предоставляет дополнительные параметры, управляющие возвратом текста. Может быть либо0.#GET_TEXT_WITH_STYLES

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

текст перед положением курсора; Длина возвращаемого текста может быть меньше, чем <var>n</var>.

Атрибуты

Комментарии

Получите <символы var>n</var> текста перед текущей позицией курсора.

Этот метод может завершиться ошибкой, если входное соединение стало недействительным (например, сбой процесса) или редактор занимает слишком много времени, чтобы ответить с текстом (возвращается несколько секунд). В любом случае возвращается значение NULL. Этот метод никак не влияет на текст в редакторе, а также не влияет на диапазоны выделения или создания.

Если #GET_TEXT_WITH_STYLES он предоставляется как флаги, редактор должен возвращать android.text.SpannableString все диапазоны, заданные в тексте.

<сильные>авторы IME:</strong> пожалуйста, рассмотрим, что это приведет к тому, что IPC цикл-поездки займет некоторое время. Предположим, что этот метод потребляет много времени. Кроме того, помните, что редактор может возвращать меньше символов, чем запрашивается, даже если они доступны по соображениям производительности. Если вы используете это для получения исходного текста вокруг курсора, вы можете рассмотреть возможность использования EditorInfo#getInitialTextBeforeCursor(int, int)и EditorInfo#getInitialTextAfterCursor(int, int) EditorInfo#getInitialSelectedText(int)предотвратить расходы на IPC.

<>сильные авторы редактора:</strong> пожалуйста, внимательно следите за условиями гонки при реализации этого вызова. IME может внести изменения в текст и использовать этот метод сразу же; Необходимо убедиться, что возвращаемое значение соответствует результату последних изменений. Кроме того, вы можете вернуть меньше n символов, если производительность диктует так, но учитывайте, что imEs полагаются на это для многих функций: например, не следует ограничивать возвращаемое значение текущей строкой, а в частности не возвращать 0 символов, если курсор не находится на самом деле в начале текста.

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

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

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