#java #android #android_studio
В качестве упражнения делаю простое приложение по заказу пиццы - выбор размера (влияет
на цену) плюс дополнительный топпинг (тоже влияет на цену).
В итоге подбивается сумма заказа:
total.setText(getString(R.string.total_price_output) + String.format("%.02f", calculateTotal()));
Здесь total_price_output - это фраза "Total Price: $" в strings.xml, a метод calculateTotal()
как раз и вычисляет общую стоимость заказа с учетом размеров и топпингов.
Все работает, но Андроид Студио выделяет эту строчку желтой черточкой, т.е. код не
соответствует правилам хорошего тона и дает мне такую рекомендацию:
Do not concatenate text displayed with setText. Use resource string with placeholders.
Как поступить? Добавить переменную, присвоить ей все, что сейчас идет в setText()
и затем вызвать setText() с этой переменной?
Ответы
Ответ 1
Студия говорит о том, что правильнее использовать плейсхолдеры в ресурсах. Пример из официальной документации (заголовок Formating strings). строка в файле ресурсов:Hello, %1$s! You have %2$d new messages. вызов в коде: String text = getString(R.string.welcome_messages, username, mailCount); на место %1$s в строке ресурсов подставится значение username, на место %2$d - mailCount. при этом s в плейсхолдере значит строку, а d - число. в результате получим строку вида:Hello, Petrov! You have 3 new messages
Комментариев нет:
Отправить комментарий