Я разрабатываю приложение, в котором у меня есть компонент TextEdit, в который пользователь может вводить числовое значение. Это значение представляет собой денежную стоимость, поэтому - как часть потери фокуса - приложение должно обновить введенную строку в этом поле и отформатировать ее в некотором стандартизированном формате, т. е. оно должно поставить перед значением префикс определенного кода валюты и отформатировать значение в соответствии с две цифры после десятичной точки, группировка цифр в группы по три и т. д.
Поэтому я написал прослушиватель фокуса для этого поля, и когда он вызывается с аргументом «hasFocus=false», я я анализирую введенное числовое значение и переформатирую его соответствующим образом. Мои выходные данные отладки показывают, что прослушиватель вызывается, и строка, которую я использую для последующего вызова .setText();, отформатирована правильно. Но по какой-то странной причине это представление не обновляется на экране, то есть отображаемый текст не изменяется соответствующим образом.
У меня нет объяснения, почему Android не обновляет визуальные эффекты соответствующим образом, когда я делаю setText(...) в видимом EditText. Поскольку это не сработало, я попытался вызвать .refreshDrawableState() и .requestLayout() после этого вызова .setText(...), но это ничего не изменило. .
Теперь я не понимаю, что здесь происходит. Есть идеи, почему и как это может произойти?
В случае, если это поможет: я использую библиотеку AppCompat, а компонент определен как android.widget.TextView, когда напечатанный в журнале, он фактически сообщается как androidx.appcompat.widget.AppCompatEditText. Может ли это повлиять или сыграть здесь роль?
Подробнее здесь: https://stackoverflow.com/questions/790 ... ate-screen
Android: TextEdit.setText(...) не обновляет экран? ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1727099875
Anonymous
Я разрабатываю приложение, в котором у меня есть компонент TextEdit, в который пользователь может вводить числовое значение. Это значение представляет собой денежную стоимость, поэтому - как часть потери фокуса - приложение должно обновить введенную строку в этом поле и отформатировать ее в некотором стандартизированном формате, т. е. оно должно поставить перед значением префикс определенного кода валюты и отформатировать значение в соответствии с две цифры после десятичной точки, группировка цифр в группы по три и т. д.
Поэтому я написал прослушиватель фокуса для этого поля, и когда он вызывается с аргументом «hasFocus=false», я я анализирую введенное числовое значение и переформатирую его соответствующим образом. Мои выходные данные отладки показывают, что прослушиватель вызывается, и строка, которую я использую для последующего вызова .setText();, отформатирована правильно. Но по какой-то странной причине это представление не обновляется на экране, то есть отображаемый текст не изменяется соответствующим образом.
У меня нет объяснения, почему Android не обновляет визуальные эффекты соответствующим образом, когда я делаю setText(...) в видимом EditText. Поскольку это не сработало, я попытался вызвать .refreshDrawableState() и .requestLayout() после этого вызова .setText(...), но это ничего не изменило. .
Теперь я не понимаю, что здесь происходит. Есть идеи, почему и как это может произойти?
В случае, если это поможет: я использую библиотеку AppCompat, а компонент определен как android.widget.TextView, когда напечатанный в журнале, он фактически сообщается как androidx.appcompat.widget.AppCompatEditText. Может ли это повлиять или сыграть здесь роль?
Подробнее здесь: [url]https://stackoverflow.com/questions/79012725/android-textedit-settext-does-not-update-screen[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия