Как использовать функцию String.format()?

196
05 ноября 2018, 14:00

Как можно переписать приведенный код ниже с помощью функции String.format()?

String s = getReference().getString(R.string.pre_text_main)
      + " " + str + " " + getReference().getString(R.string.post_text_main);
getReference().endText.setText(s);
Answer 1

Первый вариант хороший, но есть еще один: можно доставать строки сразу с параметром для форматирования. Например, твой строковый ресурс:

<string name="text_main">Какой-то пре-текст %s какой-то пост-текс</string>

Затем ты можешь достать в коде этот строковый ресурс, сразу поставив туда вместо %s нужное слово. Пример кода:

getString(R.string.text_main, str)

где, str то что встанет в параметр.

Answer 2

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));
READ ALSO
REST и безопастность

REST и безопастность

Проблема в следующем, юзер-1 генерирует свое проперти и получает свою карточку в профиле с рестом http://site/#/property/17746Юзер-2 перебором (подбором)...

170
Как создать разрушаемый terrain как в игре worms?

Как создать разрушаемый terrain как в игре worms?

Недавно начал использовать framework libgdx с подтдержкой движка box2dСтоит задача создать разрушаемость объектов как в червяках

159
ORM SQlite не работает

ORM SQlite не работает

В основном потоке

165