Suppose you have the following string:
String s = \"The cold hand reaches for the %1$s %2$s Ellesse\'s\";
String old = \"old\";
String tan = \"tan\";
String fo
I had the same issue pop up, but found a really great solution here: Android: How to combine Spannable.setSpan with String.format?
Check out the solution offered by @george-steel. He created a custom version of String.format which preserves spans.
Example use:
Spanned toDisplay = SpanFormatter.format(getText(R.string.foo), bar, baz, quux);