Concatenate multiple strings in XML?
No I don't think you can concatenate.
<string name="aaa">aaa</string>
<string name="bbb">bbb @string/aaa</string>
Output - bbb @string/aaa
If you do,
<string name="aaa">aaa</string>
<string name="bbb">@string/aaa bbb</string> -> This won't work it
will give compilation error
Because here it will search for a String with reference @string/aaa bbb
which does not exists.
Problem in your case was, you where using @strings/aaa
which should be @string/aaa
No, you can't concatenate strings in XML but you can define XML resources.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE resources [
<!ENTITY appname "MyAppName">
<!ENTITY author "MrGreen">
]>
<resources>
<string name="app_name">&appname;</string>
<string name="description">The &appname; app was created by &author;</string>
</resources>
The original answer was posted here.
In XML only this is not possible but using the java code you can use the String.format()
method.
<string name="aaa">aaa</string>
<string name="bbb">bbb %1$s</string>
In java code
String format = res.getString(R.string.bbb);
String title = String.format(format, res.getString(R.string.aaa));
So title will be a full string after concatenation of two strings.