Reputation: 1384
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
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:
http://sagittech.blogspot.com/2012/02/how-to-use-variables-in-android.html
http://mobile.tutsplus.com/tutorials/android/android-sdk-format-strings/
Upvotes: 6
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