Как можно переписать приведенный код ниже с помощью функции String.format()?
String s = getReference().getString(R.string.pre_text_main)
+ " " + str + " " + getReference().getString(R.string.post_text_main);
getReference().endText.setText(s);
Первый вариант хороший, но есть еще один: можно доставать строки сразу с параметром для форматирования. Например, твой строковый ресурс:
<string name="text_main">Какой-то пре-текст %s какой-то пост-текс</string>
Затем ты можешь достать в коде этот строковый ресурс, сразу поставив туда вместо %s нужное слово. Пример кода:
getString(R.string.text_main, str)
где, str то что встанет в параметр.
String.format() принимает первым аргументом формат, описание которого приведено в классе Formatter
В Вашем случае, необходимо в формате применить флаг s, который вызывает arg.toString()
String prefix = getReference().getString(R.string.pre_text_main);
String suffix = getReference().getString(R.string.post_text_main);
getReference().endText.setText(String.format("%s %s %s", prefix, str, suffix));
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости