Karakter nasıl yazılır ve android dizelerinde.xml


430

strings.xmlDosyaya aşağıdakileri yazdım :

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

Aşağıdaki hatayı aldım:

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

Karakterleri ve strings.xml dosyasına nasıl yazabilirim?


6
Android stüdyosunda, sadece basabilirsiniz Alt+Enterve sizin için dönüştürecektir.
Rumit Patel

Yanıtlar:



159

Özel karakter için normalde Unicode tanımını kullanıyorum, örneğin '&' için: eğer doğruysam \ u0026. İşte güzel bir referans sayfası: http://jrgraphix.net/research/unicode_blocks.php?block=0


Bu iyi çalışıyor gibi görünüyor. $ Amp; dönüştürülmeden getString () 'den çıkar. Yani bu bir acı.
Adam

1
Bu benim için işe yaramadı \ u227A gibi bazı semboller.
Luis A. Florit

Ⓡ sembol kullanımı için & # 174; ve ticari marka ™ sembolü & # 8482;
Deepak

55

Kullanımı: Bu benim sorunları olduğunu, benim çözüm aşağıdaki gibidir &gt;için <, &lt;için >, &amp;için &, "'"için ', &quotiçin\"\"


1
Değişiklik küçük olduğundan, bunun yerine yorum bırakarak bu düzenlenemez. Bunu şöyle olmalıdır Use &gt; for >, &lt;for <
Jose_GD

13

Sorunuz bile cevaplanmış olsa da, yine de buna benzer daha fazla varlığı anlatmak istiyorum. Bunlar, html entitiesandroid'de bunları şöyle yazacaksınız:

Aşağıdakilerle değiştirin:

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

9

Bu şekilde olmalı:

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


4

Dizenizin içeriğini, Android Studio'nun sizin için yaptığı gibi bir XML CDATA'ya yerleştirmek de mümkündür. Extract string resource

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


3

Bu çok eski olabilir. Ama hızlı bir kod arayanlar için.

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

Bu, kaçış karakterlerini işliyorsa, ilgili dizilere karakterler ve simgeler ekleyebilirsiniz.

Şerefe


2

Bu şekilde yazabilirsiniz

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

Çıktı: Sen ve Ben


2

Hatayı önlemek için extract dizesini kullanın:

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

Bu en iyi çözüm!
Fabi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.