tableRow hinzufügen und beibehalten

  • 8 Antworten
  • Letztes Antwortdatum
M

mitch_HD2

Fortgeschrittenes Mitglied
1
Hallo zusammen,
habe folgendes Problem.
ich füge über einen Button ein TableRow in einem Tablelayout hinzu... soweit so gut..
nur wenn ich dann mein Fragment wechsel, und wieder zurückspringe ist es weg..

wie behalte ich es bei?

mein Codeausschnitt
Code:
...
    b = (TableLayout) view.findViewById(R.id.tablelayout_one);
...

if(w == funk_btn){// wenn Funktionbutton gedrückt wird...
				System.out.println("neues View");
				TableRow tr1 = new TableRow(getActivity());
				tr1.setLayoutParams(new LayoutParams( LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
				TextView textview = new TextView(getActivity());
				textview.setText("TEST");

				tr1.addView(textview);

				b.addView(tr1, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

			}
....
 
Das ist rein logisches denken. Gehen wir doch mal durch was passiert:
- Das Fragment wird gebaut
- Liest den Quelltext
- Erstellt alle deine Views die sichtbar sein sollen
- erkennt listener
- sieht, dass wenn der buton gedrückt wird, er was zum layout hinzufügen muss.
- Es passiert:
- Das view wird erstellt.
- Fragment zeichnet sich neu
- diesmal mit dem neuem view, da es so gewünscht ist..

DU wechselst den View..
DU kommst zurück..
Selber ablauf wie oben!

Gruß
 
Es reicht übrigens schon, das Display zu drehen, dann ist die Zeile auch weg ;).
 
:D ja danke

aber weiß leider immernoch nicht wie ich das bewerkstelligen soll:)
das geänderte Layout muss ich dann ja mit dem alten überschreiben?!
 
Merken das es Schon mal hinzugefügt worden ist und dann direkt anzeigen...
 
Ja..aber wie?..:( finde leider nirgendswo ein beispiel
 
Am besten mit einer boolean variable.

Boolean layout_erweitern = true/false


Und in der oncreate fragste ab ob die true oder false ist und wenn true ist dann fügste die row direkt rein.

Künste die variable auch in eine neue Klasse packe . dann kannste von uberall aus mit Klassennamen.layout_erweitern auf true oder false setzen.
Dann musste die mit public static boolean layout_erweitern = false; initialisieren
 
Soll der Inhalt deiner Reihe denn statisch sein und einfach nur ein/ausgeblendet werden oder ist der Inhalt später dynamisch?
 
also es geht um eine haussteuerung.
der Benutzer soll sich dann per knopfdruck, neue lampen/steckdosen hinziufügen.
über ein popup dann wird der nach dem namen der steckdose und nach der id der steckdose gefragt. dieses ganze array dann soll gespeichert werden, und das layout dazu bei neustart der app wieder gestartet werden
 
Zurück
Oben Unten