1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

autom. Zeilenumbruch in TextView

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Andr_green, 24.02.2012.

  1. Andr_green, 24.02.2012 #1
    Andr_green

    Andr_green Threadstarter Junior Mitglied

    Beiträge:
    40
    Erhaltene Danke:
    2
    Registriert seit:
    24.11.2011
    Hallo,

    habe mal eine Frage bzgl. automatischen Zeilenumbruch und der TextView.
    Folgender Sachverhalt:

    Ein Layout wird dynamisch erstellt, also nicht im xml. Muss leider so sein, da die Anzahl von Elementen dynamisch zur laufzeit entschieden wird.
    Genutzt wird ein TableLayout, und jede Row wird dynamisch erzeugt.
    Innerhalb der Row befindet sich eine TextView, die auch Text anzeigen soll.
    Wenn nun dieser Text so lange ist, dass die Darstellung nicht innerhalb der breite der Row erfolgen kann,
    soll automatisch ein Zeilenumbruch geschehen damit der Text komplett angezeigt wird.
    Hier nun ein Teil des Codes:

    Code:
    
    ...
    
    TableRow row_value = new TableRow(this);
                row_value.setMinimumHeight(90);
                
                TableLayout.LayoutParams row_valueParams = new TableLayout.LayoutParams(
                        TableLayout.LayoutParams.FILL_PARENT,
                        TableLayout.LayoutParams.WRAP_CONTENT);
                
                row_valueParams.setMargins(40, 10, 20, 10);
                row_value.setLayoutParams(row_valueParams);
                
                
                // TextView
                
                TextView tv_value = new TextView(this);
    
                tv_value.setText(actProp.getValue());
                tv_value.setTextColor(font_color);
                tv_value.setTextSize(prop.getFontSizeInSP());
                tv_value.setGravity(Gravity.LEFT); 
                tv_value.setSingleLine(false);
                tv_value.setInputType(InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE);
    
                row_value.addView(tv_value);
    
    
    ...
    
    Leider erfolgt kein Zeilenumbruch... hat jemand eine Idee über welche Parameter ein Zeilenumbruch erfolgt? Bisher habe ich schon ein wenig rum gespielt, aber leider nicht erfolgreich.
    Als letzte Möglichkeit sehe ich nur noch den Text manuell um "\n" zu erweitern.
    Vielen Dank schon mal für Antworten.

    LG
    Andr_green
     
  2. StefMa, 24.02.2012 #2
    StefMa

    StefMa Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Zähle die Zeichen innerhalb des Strings und sage ab 200 Zeichen soll "abgeschnitten" werden.
    Dann gehst du 200 Zechen durch, gehst vor oder zurück in diesem 200er Bereich und suchst das nächste Space.
    Erstelle einen neuen String, der alles "hinter" dem Space speichert und gib beides an das TextView:
    textview.setText(ersterString + "\n" + zweiterString);

    MfG Ice

    €dit: Geht einfacher: grade gefunden: http://www.androidpit.de/de/android...tomatischer-zeilenumbruch-in-textview#p736003
     
    Zuletzt bearbeitet: 24.02.2012
  3. Andr_green, 24.02.2012 #3
    Andr_green

    Andr_green Threadstarter Junior Mitglied

    Beiträge:
    40
    Erhaltene Danke:
    2
    Registriert seit:
    24.11.2011
    Hallo und danke für deine Antwort.

    Auf dem Link war ich auch schon, leider hat es damit auch nicht funktioniert.
    Ich denke es wird wohl auf eine bearbeitung des Strings herauslaufen.....
     
  4. the_alien, 24.02.2012 #4
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Pack doch den TextView in ein XML und inflate ihn dynamisch?
     
  5. Andr_green, 24.02.2012 #5
    Andr_green

    Andr_green Threadstarter Junior Mitglied

    Beiträge:
    40
    Erhaltene Danke:
    2
    Registriert seit:
    24.11.2011
    Auch dir danke für die Antwort.

    Und was mache ich dann in dem XML anders, damit ein zeilenumbruch passiert??

    Eingebunden über diesen weg habe ich es schon, die frage nun ist, was ändern um eine Zeilenumbruch zu erhalten.
    Es geht um Strings die keine Leerzeichen etc beinhalten.
     
  6. the_alien, 24.02.2012 #6
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Achso! Ohne Leerzeichen ist das natürlich beliebig doof. Dann kommst du wohl kaum um das manuelle Splitten herum.
     
    Andr_green bedankt sich.

Diese Seite empfehlen