Составьте TextField из Материала 3 внутри элемента xml RecycleView – курсор не отображаетсяAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Составьте TextField из Материала 3 внутри элемента xml RecycleView – курсор не отображается

Сообщение Anonymous »

Я попробовал реализовать составное текстовое поле Jetpack (например, составную функцию CustomTextField, которая использует компонент JetpackCompose TextField из Материала 3) и попытался использовать составной CustomTextField внутри элемента представления переработчика внутри моего приложения. На данный момент я еще не пытался воспроизвести это в пустом базовом проекте.
Удивительно, но я обнаружил, что курсор для текстового поля вообще не отображается, даже когда текстовое поле находится в фокусе. Кроме этого, никаких других проблем нет.
Изучив исходный код CoreTextField, я обнаружил, что у них есть такая строка:

Код: Выделить всё

val showCursor = enabled && !readOnly && windowInfo.isWindowFocused && !state.hasHighlight()

После исследования переменной «windowInfo.isWindowFocused» внутри моего составного CustomTextField я обнаружил, что эта переменная всегда имеет значение false, даже когда составной элемент находится в фокусе.
Я попробовал обернуть свой CustomTextField с помощью CompositionProvider, который предоставляет значение true для этого значения, и курсор начал отображаться, как только текстовое поле оказалось в фокусе. Итак, похоже, что это было единственное условие, которое не позволяло TextField отображать курсор.
На мой взгляд, это похоже на ошибку в коде Jetpack Compose/android.
Кто-нибудь сталкивался с такой проблемой? Есть ли что-то еще, что мне не хватало, что могло вызвать эту проблему?
Со своей стороны, я попробовал поэкспериментировать со стратегией композиции представления для представления составления внутри элемента представления переработчика, и это не помогло. Это не имеет значения. Тем не менее, по моему мнению, стратегия по умолчанию кажется хорошим выбором для элемента просмотра переработчика.

Подробнее здесь: https://stackoverflow.com/questions/792 ... sor-is-not
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»