What's wrong with this format string?

Your string should be

<string name="q_title" formatted="false">Item %1$d of %2$d</string>

And code

String log = getString(R.string.q_title, 100, 500);

When you have multiple arguments you need to mark them with 1$, 2$... n$. In arabian langs order is reversed, so they need to know how to change it correctly.

getString(id, args...) perform format in itself.


For percent, the following worked for me.

<string name="score_percent">%s%%</string>


getString(R.string.score_percent,"20")

If you are dealing with integers replace s by d

<string name="score_percent">%d%%</string>

For those still looking for this answer, as the link that Blackbelt posted implies, the correct format for the string would be:

<string name="q_title">Item %1$d of %2$d</string>