Как я могу написать символ & в Android Strings.xml - PullRequest
382 голосов
/ 16 июня 2010

В файле 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?

Ответы [ 11 ]

948 голосов
/ 16 июня 2010

Кодируй это:

&amp;
157 голосов
/ 17 июня 2010

Для специальных символов я обычно использую определение Unicode, например '&', например: \ u0026, если я прав. Вот хорошая справочная страница: http://jrgraphix.net/research/unicode_blocks.php?block=0

40 голосов
/ 30 мая 2016

Это мои проблемы, мое решение заключается в следующем: Используйте &gt; для <, &lt; для >, &amp; для &, "'" для ', &quot для \"\"

8 голосов
/ 10 июля 2018

Даже если на ваш вопрос дан ответ, я все же хочу рассказать больше сущностей, подобных этому.Это html entities, поэтому в Android вы напишите их как:

Замените ниже:

7 голосов
/ 26 июня 2016

Должно быть так:

<string name="game_settings_dragNDropMove_checkBox">Move by Drag&amp;Drop</string>
7 голосов
/ 19 августа 2014

Вы можете найти все специальные символы HTML на этой странице http://www.degraeve.com/reference/specialcharacters.php Просто замените код, в который вы хотите поместить этот символ.: -)

4 голосов
/ 13 ноября 2015

Также возможно поместить содержимое вашей строки в XML CDATA, как Android Studio делает для вас, когда вы Extract string resource

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

3 голосов
/ 11 апреля 2016

Это может быть очень старым.Но для тех, кто ищет быстрый код.

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

, который обрабатывает escape-символы, вы можете добавить символы и символы в соответствующие им массивы.

2 голосов
/ 24 мая 2017

Вы можете написать таким образом

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

Выход: Ты и я

2 голосов
/ 20 июля 2016

Чтобы избежать ошибки, используйте строку извлечения:

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