autom. Zeilenumbruch in TextView

A

Andr_green

Neues Mitglied
2
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
 
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:
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.....
 
Pack doch den TextView in ein XML und inflate ihn dynamisch?
 
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.
 
Achso! Ohne Leerzeichen ist das natürlich beliebig doof. Dann kommst du wohl kaum um das manuelle Splitten herum.
 
  • Danke
Reaktionen: Andr_green

Ähnliche Themen

D
Antworten
23
Aufrufe
2.507
Data2006
D
OnkelLon
Antworten
13
Aufrufe
1.973
OnkelLon
OnkelLon
S
Antworten
9
Aufrufe
1.190
swa00
swa00
Zurück
Oben Unten