Fehler in der Datei strings.xml in Android

Lesezeit: 3 Minuten

Fehler in der Datei stringsxml in Android
Unterrat

Ich habe einen langen String deklariert in string.xml einer Bewerbung.

So erklärt

<string name="terms">PLEASE READ THESE TERMS OF USE CAREFULLY  BY ACCESSING THIS .................</string>

Aber das gibt folgenden Fehler:

error: Apostrophe not preceded by  (in PLEASE READ THESE TERMS OF USE CAREFULLY

  • Fehler ist, weil zu viele Punkte im String. `Fehler: Apostroph ohne vorangestelltem ` ist eine Dummy-Nachricht, das Problem wird in Punkten dargestellt. Wie ich mich erinnere, können nach mehr als drei Punkten Fehler auftreten.

    – Dudeist

    3. November ’14 um 2:23

Fehler in der Datei stringsxml in Android
Priyank

poste deinen kompletten String. Ich vermute jedoch, dass Ihre Zeichenfolge ein Apostroph (‘) enthält. Ersetzen Sie es durch (‘) und das Problem wird behoben. zum Beispiel,

//strings.xml
<string name="terms">
Hey Mr. Android, are you stuck?  Here, I'll clear a path for you.  
</string>

Ref:

http://www.mrexcel.com/forum/showthread.php?t=195353

https://code.google.com/archive/p/replicaisland/issues/48

  • Warum spricht niemand über diese idiotische Forderung, dass wir jedem einzelnen Apostroph in String-Daten entgehen? Auch innerhalb von CDATA-Abschnitten!

    – Phil Kulak

    15. März ’12 um 19:02

  • @PhilKulak heh, es ist zum Beispiel ziemlich verrückt mit Französisch. Wir suchen und ersetzen ftw.

    – Warpzit

    24. Mai ’14 um 16:31

  • @PhilKulak In Android strings.xml können Sie die gesamte Zeichenfolge in andere Anführungszeichen einschließen, wie z <string name="good_example">"This'll work"</string> Bezug: developer.android.com/guide/topics/resources/…

    – Standort

    18. März ’15 um 2:44


  • Dies kann zu Problemen führen, wenn Sie viele Zeichenfolgen haben und alle ersetzen verwenden. Siehe meine Antwort.

    – Dan Bray

    23. Okt ’18 um 14:08

  • Wenn Sie es in der Gradle-Datei als resValue verwenden, verwenden Sie ” \’ “

    – Jonas Simonaitis

    13. Apr. ’21 um 15:33

1641927278 859 Fehler in der Datei stringsxml in Android
JGallardo

Lösung

Apostrophe im strings.xml sollte geschrieben werden als

'


Beispiel

In meinem Fall hatte ich einen Fehler mit dieser Zeichenfolge in meinem strings.xml und ich habe es repariert.

<item>Most arguments can be ended with three words, "I don't care".</item>

Hier sehen Sie, wie meine App mit diesem Code richtig erstellt wird.

Bildbeschreibung hier eingeben

Hier ist die tatsächliche Zeichenfolge in meiner App.

Bildbeschreibung hier eingeben

  • Ich bin dumm, da ich XML verwendet habe, habe ich ' verwendet, und das ist auch ein Fehler.

    – Chris Westin

    2. März ’20 um 19:33

https://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling

Escape Apostrophe und Anführungszeichen

Wenn Ihre Zeichenfolge ein Apostroph oder ein Anführungszeichen enthält, müssen Sie es entweder mit Escapezeichen versehen oder die gesamte Zeichenfolge in den anderen Typ von einschließenden Anführungszeichen einschließen. Hier sind zum Beispiel einige Stiche, die funktionieren und nicht funktionieren:

<string name="good_example">"This'll work"</string>
<string name="good_example_2">This'll also work</string>
<string name="bad_example">This doesn't work</string>
<string name="bad_example_2">XML encodings don&apos;t work</string>

  • XML-Codierung funktioniert nicht mit dem &apos; Formular, funktioniert aber mit dem &#39; bilden.

    – Thomas

    8. Juli ’21 um 16:49

Sie müssen vor einem Apostroph setzen. Überprüfen Sie auf diese Weise ‘ , dass Sie strings.xml und nicht values.xml bearbeiten (Android Studio leitet Sie zu dieser Datei weiter, wenn der Fehler angezeigt wird). Denn wenn Sie die values.xml bearbeiten und erneut versuchen zu kompilieren, bleibt der Fehler bestehen. Das ist mir vor kurzem passiert.

Verwenden Sie diese Regex (?<!\)' für die Suche nach einem Apostroph ohne Escapezeichen. Es findet ein Apostroph, dem kein Backslash vorangestellt ist.

1641927278 653 Fehler in der Datei stringsxml in Android
Li3ro

Ich verwende Hebräisch (RTL-Sprache) in strings.xml. Ich habe die string.xml manuell nach diesem Zeichen durchsucht: ‘ dann habe ich das Escape-Zeichen davor hinzugefügt (jetzt sieht es aus wie ‘ ) und bekomme immer noch den gleichen Fehler!

Ich habe noch einmal nach dem char ‘ gesucht und das char ‘ durch ‘(german schreiben) ersetzt, da es von rechts nach links angezeigt wird, sieht es so aus ‘ in der strings.xml !!

Problem gelöst.

Möglicherweise können Sie sowohl Apostrophe als auch andere Zeichen verwenden, die in der XML-Zeichenfolge nicht unterstützt werden. Das Äquivalent des Apostrophs ist “u0027” .

.

380500cookie-checkFehler in der Datei strings.xml in Android

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy