slorangex
slorangex

Reputation: 1384

How to use integer resources within string resources in android

How can I use some integer that I have stored in my integers.xml file in my strings.xml file.

For example:

I have <integer name="some_integer">5</integer> and I would like to use this in my strings.xml file:

<string name="some_string">This is my string num @integers/some_integer in a row</string>

Apparently my way is not good enough so I need a little help please. I belive there is a possible solutions I just don't know the right one.

Appreciate all the help!

Upvotes: 21

Views: 14899

Answers (2)

Roberto Tellez Ibarra
Roberto Tellez Ibarra

Reputation: 2166

Others said your approach do not work. This is an old answer to face similar problem:

<string name="meatShootingMessage">You shot %1$d pounds of meat!</string>

int numPoundsMeat = 123;
String strMeatFormat = getResources().getString(R.string.meatShootingMessage);
String strMeatMsg = String.format(strMeatFormat, numPoundsMeat);

See this references:

Upvotes: 6

Budius
Budius

Reputation: 39836

short version is that you can't mix resources like this, but you can use in Java:

getResources.getString(R.string.some_string,
                       getResources.getInteger(R.integer.some_integer)
                      );

and then in your String XML

<string name="some_string">This is my string num %d in a row</string>

that way the %d get replaced by the integer you pass in the getString

Upvotes: 25

Related Questions