可以将strings.xml中已存在的String与当前的String连接起来 那就是:如果我有
<string name="hello">hello</string>
我想创建一个格式为"Your android says "+hello
答案 0 :(得分:19)
我担心strings.xml
无法实现这一点。
您可以使用getString
以编程方式创建最终字符串:
String outStr = getString(R.string.your_android_says) +
" " + getString(R.string.hello);
答案 1 :(得分:7)
不确定这是否是您想要的:
String s = "Your android says" + getResources().getString(R.id.name);
您还可以这样做:
<string name="hello">%s hello</string>
String androidsays = "Your android says";
String s = getString(R.id.name, androidsays);
答案 2 :(得分:2)
您可以创建任意数量的已更改字符串,但仅限于runTime内存。你不能像通常values/string.xml
一样持久存储这个新字符串。
示例String newString = "something" + getResources().getString(id);
sharedPreferences
你可以做到这一点。将新生成的字符串存储到共享首选项中并稍后访问。
答案 3 :(得分:0)
如果您希望这样做而不必添加任何Java / Kotlin代码,则可以使用我创建的这个小型库:https://github.com/LikeTheSalad/android-string-reference
它允许您执行以下操作:
<string name="app_name">world</string>
<string name="template_welcome_message">hello ${app_name}</string>
然后库在构建时执行此操作:
<string name="welcome_message">hello world</string>