Форматирование и стиль
Да, см. Строковые ресурсы: форматирование и стилизация
Если вам нужно отформатировать строки, используя String.format(String, Object...)
, вы можете сделать это, поместив аргументы формата в строковый ресурс. Например, со следующим ресурсом:
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
В этом примере строка формата имеет два аргумента: %1$s
является строкой и %2$d
является десятичным числом. Вы можете отформатировать строку с аргументами из вашего приложения следующим образом:
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
Основное использование
Обратите внимание, что getString
имеет перегрузку, которая использует строку в качестве строки формата:
String text = res.getString(R.string.welcome_messages, username, mailCount);
Множественное
Если вам нужно обработать множественное число, используйте это:
<plurals name="welcome_messages">
<item quantity="one">Hello, %1$s! You have a new message.</item>
<item quantity="other">Hello, %1$s! You have %2$d new messages.</item>
</plurals>
Первый параметр mailCount
используется, чтобы решить, какой формат использовать (одиночный или множественный), другие параметры - ваши замены:
Resources res = getResources();
String text = res.getQuantityString(R.plurals.welcome_messages, mailCount, username, mailCount);
Подробнее см. Ресурсы строк: множественное число .