我在strings.xml文件中写了以下内容:

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

我得到了以下错误:

The reference to entity "Drop" must end with the ';' delimiter.

我怎么能写字符&在字符串。xml?


当前回答

我发布这个是因为上面的编码都不适合我。

我发现用序列替换&#38;作为XML字符串资源工作。如:

<string name="webLink"><a href="https://www.example.com?param1=option1&#38;param2=option2">click here</a></string>

其他回答

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

 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;
 }

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

干杯

你可以这样写

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

输出:你和我

我发现的最简单的方法是将“&”替换为对应的Unicode。对于上面给出的例子,写如下:

<string name="game_settings_dragNDropMove_checkBox">Move by Drag\u0026Drop</string>

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

如果您想直接在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 &amp; Me"