TextView append добавляет некоторые символы в начало строки
В попытке написать калькулятор я столкнулся с такой проблемой
if (!decimalSeparatorPresent){
outputField.append(".");
decimalSeparatorPresent = true;
}
При нажатии кнопки в конец выражения должна добавиться точка (12.), но она добавляется в самое начало перед старшим разрядом (.12), а при нажатии любой цифры после, всё становится на свои места (12.4), при чём все цифры всегда работают как надо при использовании того же append, я думал проблема в обновлении экрана или самого TextView, и попробовал использовать
outputField.refreshDrawableState();
и
outputField.invalidate();
Но это ни на что не повлияло
Ответы (1 шт):
Оказалось дело в том, что я неправильно настроил приведение текста в TextView к правому краю. В свойствах TextView у меня было
android:gravity="start"
android:textDirection="rtl"
А необходимо было лишь
android:gravity="end"
Правда я не понял почему цифры и некоторые символы всё ещё работали правильно в предыдущем варианте