So fügen Sie in Android eine neue Zeile in Zeichenfolgen ein

Lesezeit: 4 Minuten

Benutzer-Avatar
Schilf

Ich erstelle eine Android-Anwendung und darin gibt es eine Schaltfläche, die einige Informationen in einer E-Mail sendet, und ich möchte nicht alles in einem Absatz haben.

Hier ist, was meine App für das PutExtra für den Text der E-Mail tut:

I am the first part of the info being emailed. I am the second part. I am the third part.

Folgendes möchte ich tun:

I am the first part of the info being emailed.
I am the second part.

I am the third part.

Wie würde ich eine neue Zeile in einen String einfügen oder mit dem putExtra Methode, um das zu erreichen?

Benutzer-Avatar
Benutzer824013

Versuchen:

String str = "my string \n my other string";

Im Druck erhalten Sie:

my string
my other string

  • Dies ist nicht systemunabhängig. Einige Systeme verwenden \r\n für Zeilenumbrüche

    – Gibolt

    10. März 2018 um 22:34 Uhr

  • @Gibolt Dies ist systemunabhängig. Android läuft nur auf Linux-basierten Geräten und daher ist das \n auf allen Geräten konsistent.

    – Johannes

    2. März 2021 um 14:13 Uhr


Versuchen Sie es mit System.getProperty("line.separator") um eine neue Zeile zu bekommen.

  • Außerdem habe ich gelernt, dass das Einfügen von \n in eine Zeichenfolge eine neue Zeile einfügt

    – Schilf

    9. August 2011 um 23:33 Uhr

  • @Jakar System.getProperty("line.separator") ist plattformunabhängig und \n ist nicht. Aber wenn Sie Android-Apps entwickeln, ist die Plattform fest und wird von Linux/Android verwendet \n als Newline-Zeichen. Wikipedia/Neue Zeile

    – wischi

    18. März 2015 um 17:01 Uhr


  • @wischi, guter Punkt. Und \r\n ist meines Erachtens systemübergreifender (korrigieren Sie mich, wenn ich falsch liege) und eignet sich daher besser zum Übertragen von Daten. Zum Beispiel, wenn Sie eine E-Mail mit senden \n zu und es wird auf einem System gelesen, das verwendet \r\nkönnen Sie Linien verlieren, während in den meisten Fällen, wenn Sie passen \r\n zu einem System, das gerade will \n, wird es kompensieren. Ich könnte mich hier irren, und ich habe keine Quelle. Das ist nur das, was ich im Laufe der Zeit gesammelt habe.

    – Schilf

    18. März 2015 um 17:23 Uhr

Benutzer-Avatar
Aritra Roy

Ich persönlich bevorzuge die Verwendung von “\n“. Dies setzt nur einen Zeilenumbruch in Linux oder Android.

Zum Beispiel,

String str = "I am the first part of the info being emailed.\nI am the second part.\n\nI am the third part.";

Ausgabe

I am the first part of the info being emailed.
I am the second part.

I am the third part.

Ein allgemeinerer Weg wäre die Verwendung von

System.getProperty("line.separator")

Zum Beispiel,

String str = "I am the first part of the info being emailed." + System.getProperty("line.separator") + "I am the second part." + System.getProperty("line.separator") + System.getProperty("line.separator") + "I am the third part.";

bringt die gleiche Ausgabe wie oben. Hier die Statik getProperty() Methode der System Klasse kann verwendet werden, um die “line.seperator” für das jeweilige Betriebssystem.

Dies ist jedoch überhaupt nicht erforderlich, da das Betriebssystem hier festgelegt ist, dh Android. Das Aufrufen einer Methode ist also jedes Mal a schwere und unnötige Operation.

Darüber hinaus erhöht dies auch Ihre Codelänge und lässt es etwas chaotisch aussehen. Ein “\n” ist süß und einfach.

  • Sie haben Leerzeichen nach den Zeilenumbrüchen in Ihrer Zeichenfolge, die in der Ausgabe nicht angezeigt werden, und die Ausgabe enthält eine zusätzliche Leerzeile.

    – Matthäus Lesen

    21. Juli 2015 um 19:57 Uhr

  • @MatthewRead Danke, ich habe die Leerzeichen entfernt. Aber ich sehe nirgendwo eine zusätzliche Leerzeile.

    – Aritra Roy

    22. Juli 2015 um 10:35 Uhr

ich benutze <br> in einem CDATA Schild. Als Beispiel enthält meine strings.xml-Datei ein Element wie dieses:

<item><![CDATA[<b>My name is John</b><br>Nice to meet you]]></item>

und Drucke

My name is John
Nice to meet you

Benutzer-Avatar
Mohit Kumar

Wenn Sie zur Laufzeit einen Zeilenumbruch in eine Zeichenfolge aus derselben Zeichenfolge einfügen möchten, leiten Sie den Wert ab, dann funktioniert dieser Kotlin-Code für mich:

str = "<br>"+str?.replace("," , "</br><br>")+"</br>"
value = HtmlCompat.fromHtml(${skill_et_1}",Html.FROM_HTML_MODE_LEGACY)
tv.text = value

  • Du benutzt val als Variable hier aber val ist ein reserviertes Schlüsselwort in kotlin.

    – Yashovardhan99

    15. Juni 2021 um 19:10 Uhr

  • Du benutzt val als Variable hier aber val ist ein reserviertes Schlüsselwort in kotlin.

    – Yashovardhan99

    15. Juni 2021 um 19:10 Uhr

1256250cookie-checkSo fügen Sie in Android eine neue Zeile in Zeichenfolgen ein

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

Privacy policy