There are two easy ways to replace text on-the-fly in Android. This may be required if you want to insert some text/values into displayed text, or construct a data packet of some sort. Both require some code to replace given part of the string.
First is to use HTML/XML tags and then handle them with your own implementation of Html.handleTag()
. Unfortunately, String
conversion removes the tag in the background, so you need to escape <
mark with <
in the string resource. This approach is good when you want to put variables inside a string and then process them later in one place using tag handling – that is when you want to have a tag handled at processing time – so you only change tags and one processing routine.
Second is to use Format Strings instead of XML/HTML tags. It seems simpler, faster, and evades hidden conversion problems. getString(resource, ...)
works like a well known printf(string, ...)
. This approach is good when you want to process each string manually at runtime, but strings and variables are hardcoded.