如何在 strings.xml 中引用其他字符串? [复制]

Posted

技术标签:

【中文标题】如何在 strings.xml 中引用其他字符串? [复制]【英文标题】:How do I reference other strings within strings.xml? [duplicate] 【发布时间】:2019-07-02 00:59:20 【问题描述】:

我想在另一个字符串中引用一个字符串,所以我只需要在一个地方进行更改。

我不想从 Java 中处理这个问题。也就是说,我不想使用 %s 和 (getString(R.string.log_in_to_my_app), appName)

例如,我只想在第一个字符串中看到“MyApp”并在其他字符串中看到对它的引用:

<string name="app_name">MyApp</string>
<string name="log_in_to_my_app">Log In To MyApp</string>
<string name="login_with_my_app">Log in with MyApp</string>

所以可能是这样的:

<string name="app_name">MyApp</string>
<string name="log_in_to_my_app">Log In To @app_name</string>
<string name="login_with_my_app">Log in with @app_name</string>

【问题讨论】:

编辑你的问题并解释你想做什么,因为你只提到你不想做的事情。 【参考方案1】:

你可以这样称呼这个字符串:

android:text="@string/app_name"

android:text="@string/log_in_to_my_app"

android:text="@string/login_with_my_app"

【讨论】:

【参考方案2】:

答案在https://***.com/a/39870268/6558369

<?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>

【讨论】:

以上是关于如何在 strings.xml 中引用其他字符串? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

从strings.xml 中的另一个字符串引用一个字符串?

如何在 Android Strings.xml 中搜索字符串?

为啥源码中的strings.xml中有msgid属性

Android 基本语法

Android strings.xml 最佳实践? [关闭]

在Android的Strings.xml中该如何使用&