Android: Change strings resource Programmatically
Is there a way to do this? For instan开发者_JS百科ce, I have a setting in my preferences that can convert between metric and standard units of measurement and when the user changes this I would like to update a few strings to change some labels around within my app.
You can update the label on TextView or anything similar.
- Get the updated string using
update_str = Context.getResources().getString (R.string.update_identifier)
- Update the label using
((TextView)findViewById (R.id.textview)).setText (updated_str)
You may use following instructions to fetch saved labels from strings.xml file and show them accordingly at some 'if statement' which could check your
pref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext())
.getString("conversion_mode", "");
String string = getString(R.string.update_identifier);
or
getResources().getString (R.string.update_identifier)
would do the best
getString(int)
or getText(int)
may be used to retrieve a string.
Please note getText(int)
will retain any rich text styling applied to the string.
Find the Reference
精彩评论