如何在android strings.xml中编写字符&

问题描述 投票:377回答:11

我在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中写字符?

android string special-characters
11个回答
946
投票

编码:

&amp;

2
投票

要避免错误,请使用提取字符串:

<string name="travels_tours_pvt_ltd"><![CDATA[Travels & Tours (Pvt) Ltd.]]></string>

0
投票

Mac和Android工作室用户:

在string.xml或layout中键入诸如&之类的char,然后选择“Option”和“return”键。 Please refer the screen shot


157
投票

对于特殊字符,我通常使用Unicode定义,对于'&'例如:\ u0026如果我是正确的。这是一个很好的参考页面:http://jrgraphix.net/research/unicode_blocks.php?block=0


40
投票

这是我的问题,我的解决方案如下:使用&gt;<&lt;for >&amp;&"'"'&quot\"\"


8
投票

即使你的问题得到了解答,我仍然希望告诉更多像这样的实体。这些是html entities,所以在android中你会写它们像:

替换如下:

& with &amp;
> with &gt;
< with &lt;
" with &quot;, &ldquo; or &rdquo;
' with &apos;, &lsquo; or &rsquo;
} with &#125;

7
投票

您可以在此页面中找到所有HTML特殊字符http://www.degraeve.com/reference/specialcharacters.php只需替换要放置该字符的代码即可。 :-)


7
投票

它应该是这样的:

<string name="game_settings_dragNDropMove_checkBox">Move by Drag&amp;Drop</string>

4
投票

也可以将字符串的内容放入XML CDATA,就像Android Studio为你做的那样Extract string resource

<string name="game_settings_dragNDropMove_checkBox"><![CDATA[Move by Drag&Drop]]></string>


3
投票

这可能很老了。但对于那些寻找快速代码的人。

 public String handleEscapeCharacter( String str ) {
    String[] escapeCharacters = { "&gt;", "&lt;", "&amp;", "&quot;", "&apos;" };
    String[] onReadableCharacter = {">", "<", "&", "\"\"", "'"};
    for (int i = 0; i < escapeCharacters.length; i++) {
        str = str.replace(escapeCharacters[i], onReadableCharacter[i]);
    } return str;
 }

处理转义字符,您可以在各自的数组上添加字符和符号。

-干杯


2
投票

你可以这样写

<string name="you_me">You &#38; Me<string>

输出:你和我

© www.soinside.com 2019 - 2024. All rights reserved.