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
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>
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
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.
Hier ist die tatsächliche Zeichenfolge in meiner App.
Ich bin dumm, da ich XML verwendet habe, habe ich ' verwendet, und das ist auch ein Fehler.
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:
XML-Codierung funktioniert nicht mit dem ' Formular, funktioniert aber mit dem ' 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.
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” .
.
3805000cookie-checkFehler in der Datei strings.xml in Androidyes
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