Android: TextEdit.setText(...) не обновляет экран?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android: TextEdit.setText(...) не обновляет экран?

Сообщение Anonymous »

Я разрабатываю приложение, в котором у меня есть компонент 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
Ответить

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

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

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

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

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