В Android можно использовать заполнители в строках, например:
<string name="number">My number is %1$d</string>
а затем в Java-коде (внутри подкласса Activity
):
String res = getString(R.string.number);
String formatted = String.format(res, 5);
или даже проще:
String formatted = getString(R.string.number, 5);
Также можно использовать некоторые HTML-теги в строковых ресурсах Android:
<string name="underline"><u>Underline</u> example</string>
Так как сам String
не может хранить информацию о форматировании, следует использовать getText(int)
вместо метода getString(int)
:
CharSequence formatted = getText(R.string.underline);
Возвращенный CharSequence
можно передать в виде виджетов Android, например TextView
, а выделенная фраза будет подчеркнута.
Однако я не мог найти, как объединить эти два метода, используя форматированную строку вместе с заполнителями:
<string name="underlined_number">My number is <u>%1$d</u></string>
Как обрабатывать выше ресурс в Java-коде для отображения его в TextView
, заменяя %1$d
целым числом?