如何在 android XML 中连接多个字符串?

问题
我希望能够在 Android XML 代码中做类似的事情:

<string name="title">@string/app_name test</string>
<string name="title2">@string/app_name @string/version_name</string>

关于第一行代码编译器显示此错误

没有找到与给定名称匹配的资源(在“ title”处,值为“@string/app _ name test”)

关于第二行代码编译器显示此错误

没有找到与给定名称匹配的资源(在‘ title2’处,值为’@string/app _ name@string/version _ name’)

提问
有人知道如何在 Android XML 中连接多个字符串吗?

理由
在代码的许多位置(在本例中是 XML)复制变量值是不好的做法。

60971 次浏览

我自己也曾尝试做过类似的操作,但有人告诉我这在 Android 系统中是不可行的。

有趣的是,您会得到一条错误消息,表明确实可以使用 ,但是由于资源匹配方面的错误,目前还不可能使用 。(确实在“ title”和“ title2”字符串之前定义了“ app _ name”和“ version _ name”字符串吗?)

然而,你可以这样做:

<string name="title">%1$s test</string>
<string name="title2">%1$s %2$s</string>


<string name="app_name">AppName</string>
<string name="version_name">1.2</string>

然后从 Java 代码执行以下操作:

Resources res = getResources();
String appName = res.getString(R.string.app_name);
String versionName = res.getString(R.string.version_name);


String title = res.getString(R.string.title, appName);
String title2 = res.getString(R.string.title2, appName, versionName);

更多有关 在 Android 中格式化字符串的资料。

希望这个能帮上忙。