连接Android的strings.xml文件中的字符串

时间:2011-12-02 09:01:08

标签: java android xml

可以将strings.xml中已存在的String与当前的String连接起来 那就是:如果我有

<string name="hello">hello</string>

我想创建一个格式为"Your android says "+hello

的新字符串

4 个答案:

答案 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>