我在 strings.xml
文件中写了以下内容:
<string name="game_settings_dragNDropMove_checkBox">Move by Drag&Drop</string>
我收到以下错误:
The reference to entity "Drop" must end with the ';' delimiter.
如何在 strings.xml 中写入字符 &?
Alt+Enter
,它就会为您转换。
对其进行编码:
&
对于特殊字符,我通常使用 Unicode 定义,对于 '&'例如: \u0026 如果我是正确的。这是一个不错的参考页面:http://jrgraphix.net/research/unicode_blocks.php?block=0
这是我的问题,我的解决方案如下:将 >
用于 >
,<
用于 <
,&
用于 &
,"'"
用于 '
,"
用于 { 10}
Use > for >, <for <
即使你的问题得到了回答,我仍然想告诉更多这样的实体。这些是 html entities
,所以在 android 中你可以这样写:
下面替换为:
& with &
> with >
< with <
" with ", “ or ”
' with ', ‘ or ’
} with }
它应该是这样的:
<string name="game_settings_dragNDropMove_checkBox">Move by Drag&Drop</string>
也可以将字符串的内容放入 XML CDATA,就像 Android Studio 在您Extract string resource
时为您所做的那样
<string name="game_settings_dragNDropMove_checkBox"><![CDATA[Move by Drag&Drop]]></string>
这可能很老了。但是对于那些寻找快速代码的人。
public String handleEscapeCharacter( String str ) {
String[] escapeCharacters = { ">", "<", "&", """, "'" };
String[] onReadableCharacter = {">", "<", "&", "\"\"", "'"};
for (int i = 0; i < escapeCharacters.length; i++) {
str = str.replace(escapeCharacters[i], onReadableCharacter[i]);
} return str;
}
处理转义字符,您可以在它们各自的数组上添加字符和符号。
-干杯
为避免该错误,请使用提取字符串:
<string name="travels_tours_pvt_ltd"><![CDATA[Travels & Tours (Pvt) Ltd.]]></string>
& 在字符串中,如:
<string name="string_abc">Translate & Scan Objects</string>
输出将是:
翻译和扫描对象
你可以这样写
<string name="you_me">You & Me<string>
输出:你和我
如果你想直接硬编码xml中的字符串,你可以这样加起来。
<TextView
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="You & Me"
我发现的最简单的方法是将“&”替换为 Unicode 等价物。所以对于给定的例子写:
<string name="game_settings_dragNDropMove_checkBox">Move by Drag\u0026Drop</string>
我发布这个是因为上述编码都不适合我。
我发现用序列替换 & 符号:&
用作 xml 字符串资源。如:
<string name="webLink"><a href="https://www.example.com?param1=option1&param2=option2">click here</a></string>