GuyFawkes
GuyFawkes

Reputation: 1706

How to put variable inside string-resources?

Is it possible to put variables inside string-resources? And if yes - how do i use them.

What i need is the following:

<string name="next_x_results">Next %X results</string>

and put an int in place of the %X.

Upvotes: 81

Views: 70619

Answers (4)

Atul Bhardwaj
Atul Bhardwaj

Reputation: 6707

<string name="message">You shot %1$d pounds of meat! Put Second Variable String here %2$s and third variable integer here %3$d</string>
int intVariable1 = 123;
String stringVariable2 = "your String";
int intVariable3 = 456;
String strMeatFormat = getResources().getString(R.string.message, intVariable1, stringVariable2 , intVaribale3);

Upvotes: 17

Yasin Bahtiyar
Yasin Bahtiyar

Reputation: 2367

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


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

Example taken from here

Upvotes: 126

Roel
Roel

Reputation: 3096

Just pass it throught getString() function as formatArgs Object.

int nextResultsSize = getNextResultsSize();
String strNextResultsSize = 
     getResources().getString(R.string.next_x_results, nextResultsSize);

XML:

<string name="next_x_results">Next %1$d results</string>

Upvotes: 36

krupa parekh
krupa parekh

Reputation: 500

yes,you can use. after adding tag to string.xml file and then to retrrive the the same in your .java file you can follow this.

AndriodApp

String str = getResources().getString(R.string.name);

Upvotes: -3

Related Questions