I am Using placeholder %1$d in string.xml for
int value, and then I want to display
% sign in same
TextView so it's
%. So I've use it like this.
Now in Java Code I used it like this.
int progress = 10; textView.setText(String.format(getString(R.string.uploadProgress), progress));
But it is showing:
I Tried with:
%(But I don't want space actually.)
But no luck. How can I achieve this? I've looked another SO questions for solution but I'm not able to find particular one.
I've run into this as well. There are two ways to escape a literal percent symbol in XML string resources.
For your case (a string with parameters, e.g.
%1$d) you should use
%% to escape the percent symbol literal.
If your string does not have parameters, then you should use
\u0025 to escape the literal percent symbol.
If you use
%%in a string without parameters, then
getString() will resolve it as a literal
%% instead of escaping it. If you use
\u0025 in a string with parameters, then
getString() will crash trying to treat that
% as a format parameter.