424 Stimmen

Wie kann man die Leerzeichen am Ende und/oder am Anfang eines Strings beibehalten?

Ich muss diese beiden Zeichenfolgen aus meinen Ressourcen-/Wertedateien miteinander verknüpfen:

<string name="Toast_Memory_GameWon_part1">you found ALL PAIRS ! on </string>
<string name="Toast_Memory_GameWon_part2"> flips !</string>

Ich mache es auf diese Weise:

String message_all_pairs_found = getString(R.string.Toast_Memory_GameWon_part1)+total_flips+getString(R.string.Toast_Memory_GameWon_part2);

Toast.makeText(this, message_all_pairs_found, 1000).show();

Aber die Leerzeichen am Ende der ersten Zeichenfolge und am Anfang der zweiten Zeichenfolge sind verschwunden (wenn der Toast angezeigt wird) ...

Was soll ich tun?

Ich vermute, die Antwort liegt irgendwo hier in dieser Link zur Dokumentation

oder ist es etwas wie die Verwendung von &amp ; für das Zeichen "&" ??

15voto

Andrew Punkte 33981

Es ist möglich, den Abstand mit unterschiedlichen Breiten zu gestalten:

<string name="space_demo">|&#x20;|&#x2009;|&#x200A;||</string>

| Leerzeichen | Dünnes Leerzeichen | Haarleerzeichen | kein Leerzeichen |

Visualisierung:

enter image description here

14voto

Bhupendra Joshi Punkte 203

Verwenden. "" mit der Zeichenfolge resource value.

Beispiel:

<string>"value with spaces"</string>

OR

verwenden. \u0020 Code für Leerzeichen.

9voto

Jeremy Logan Punkte 46499

Wenn Sie es wirklich so machen wollen, wie Sie es gemacht haben, dann müssen Sie ihm sagen, dass das Leerzeichen relevant ist, indem Sie es ausblenden:

<string name="Toast_Memory_GameWon_part1">you found ALL PAIRS ! on\ </string>
<string name="Toast_Memory_GameWon_part2">\ flips !</string>

Ich würde jedoch Folgendes verwenden String-Formatierung für diese. Etwas wie das Folgende:

<string name="Toast_Memory_GameWon">you found ALL PAIRS ! on %d flips !</string>

dann

String message_all_pairs_found = String.format(getString(R.string.Toast_Memory_GameWon), total_flips);

8voto

Tarsbir Singh Punkte 471

Gut arbeiten Ich benutze \u0020

<string name="hi"> Hi \u0020 </string>
<string name="ten"> \u0020 out of 10  </string>
<string name="youHaveScored">\u0020 you have Scored \u0020</string>

Java-Datei

String finalScore = getString(R.string.hi) +name+ getString(R.string.youHaveScored)+score+ getString(R.string.ten);
               Toast.makeText(getApplicationContext(),finalScore,Toast.LENGTH_LONG).show();

Bildschirmfoto hier Bild, das die Funktionsweise dieses Codes zeigt

2voto

Etienne Lawlor Punkte 6851

Alle Antworten hier haben bei mir nicht funktioniert. Um stattdessen ein Leerzeichen am Ende eines Strings in XML Ich habe dies getan

<string name="more_store">more store<b> </b> </string>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X