是否可以在字符串值中包含占位符string.xml,可以在运行时分配值?
例:
一些字符串PLACEHOLDER1更多字符串
我想在strings.xml文件中引用另一个字符串中的字符串,如下所示(特别注意"message_text"字符串内容的结尾):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="button_text">Add item</string>
<string name="message_text">You don't have any items yet! Add one by pressing the \'@string/button_text\' button.</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
我已经尝试了上面的语法,然后文本打印出"@ string/button_text"作为明文.不是我想要的.我想要打印消息文本"你还没有任何项目!按"添加项目"按钮添加一个项目."
有没有任何已知的方法来实现我想要的?
RATIONALE:
我的应用程序有一个项目列表,但是当该列表为空时,我会显示"@android:id/empty"TextView.TextView中的文本是通知用户如何添加新项目.我想让我的布局变得傻瓜变化(是的,我是个傻瓜:-)
我将详细介绍如何在android XML中连接多个字符串?最后有评论
For clarity, Its works:
<string name="title">@string/app_name</string>.- AndrzejDuś
我做了我自己的例子,但它不起作用.所以确实安杰错误或我做错了什么在我的代码.
R.strings.bbb应该包含"bbb aaa"
但不包含"bbb aaa"它"bbb @strings/aaa"
<string name="aaa">aaa</string>
<string name="bbb">bbb @strings/aaa</string>
Run Code Online (Sandbox Code Playgroud)
查询:
是否可以仅在xml中进行一些串联,而不更改源代码?
我不想在代码中编辑的原因,因为我使用了这个字符串 xml/preferences.xml
例如:
<ListPreference android:key="key_bbb" android:title="@string/bbb" ....
如果你知道我的意思,这里没有可能使用这样的东西
String title = res.getString(R.string.title, appName);
Run Code Online (Sandbox Code Playgroud)