1. ben56a, 06.01.2011 #1
    ben56a

    ben56a Threadstarter Android-Hilfe.de Mitglied

    hallo leute,

    ich habe folgendes Problem und finde leider nirgends eine passende Antwort.

    Ich lese einen String aus einer .txt Datei ein. In diesem String befindet sich unteranderem ein \n, was dafür sorgen soll, dass der String im TextView zweizeilig erscheint.

    Wenn ich aber nun mit setText(myString) den gerade eingelesenen Text setze und den Emulator starte, wird mir in der TextView der komplette Text, samt \n angezeigt. Auch von einem Zeilenumbruch ist leider nichts zu sehen.

    Ich habe auch schon die Variante \r\n versucht.
     
  2. ben56a, 07.01.2011 #2
    ben56a

    ben56a Threadstarter Android-Hilfe.de Mitglied

    Hat denn niemand eine Idee?
     
  3. tobbbbi, 07.01.2011 #3
    tobbbbi

    tobbbbi Junior Mitglied

    Also ich befürchte ja, dass das gar nicht so einfach geht.
    Evtl. musst du dir eine eigene String-Routine basteln, die nach \n abfragt.
    Du kannst dazu auch gut die vorhandenen Stringmethoden verwenden. (zB. substring, split etc.).
    Was anderes fällt mir dazu leider auch nicht ein - ist halt schön umständlich.
     
  4. smeat, 09.01.2011 #4
    smeat

    smeat Neuer Benutzer

    Wenn ich das richtig verstehe, hast du in die Datei das \n manuell reingeschrieben?
    Beim Einlesen wird dann dein \n als 2 Zeichen erkannt. Also muss man nur alle "\\n" mit "\n" ersetzen: str = str.replace("\\n","\n")
     
    ben56a gefällt das.
  5. ben56a, 09.01.2011 #5
    ben56a

    ben56a Threadstarter Android-Hilfe.de Mitglied

    super Tipp!
    Folgende Variante hat zum Erforlg geführt: str = str.replace("\n","\n");

    Danke
     
  6. tobbbbi, 10.01.2011 #6
    tobbbbi

    tobbbbi Junior Mitglied

    Krasses Verhalten! :huh:

    Könnte mir das bitte mal jemand logisch erklären?
     
  7. DieGoldeneMitte, 10.01.2011 #7
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Das ist keine Hexerei:

    \n ist eine Schreibweise für das Literal "Zeilenumbruch", die von bestimmten Parsern (wie zum Beispiel einem C oder Javacompiler) als Sonderschreibweise für eben diesen Zeilenumbruch verstanden wird. Wenn du den String "direkt" aus einem Datenstrom einliest, ist da kein Parser, der die Zeichenfolge "\" + "n" für Dich interpretiert. Da musst Du das schon selber machen (also Backslash gefolgt von n durch newline ersetzen).

    Weil du diese Zeichen in deinem Javaprogramm eingibst, musst Du Backslash und newline natürlich wieder Quoten. Dehalb "\\" für den Backslash und "\n" für das newline.
     

Users found this page by searching for:

  1. android studio zeilenumbruch

    ,
  2. androidstudio email zeilenumbruch

    ,
  3. zeilenumbruch android lesen

    ,
  4. zeilenumbruch tablet,
  5. zeilenumbruch android