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

Layout wechsel

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von StefMa, 10.01.2012.

  1. StefMa, 10.01.2012 #1
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Hi,

    Habe mich mit dem Spinner auseinander gesetzt. Dort kann man verschiedene Sachen auswählen (Montag bis Freitag) und je nach dem was ausgewählt ist, wird ein neues Layout geladen.

    Dazu habe ich den itemlistener implementiert und dann "einfach " setContentView(R.layout. Montag) eingesetzt.
    Wenn ich das aber mache, verschwindet der Inhalt des Spinners!

    Wie kann ich das denn lösen, das ein neues Layout geladen wird, aber der Spinner so bleibt wie er sein soll!?

    Gesendet mit der Android-Hilfe.de-App
     
  2. swordi, 10.01.2012 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    dann wirst wohl in deinem layout mehrere stati haben müssen und dann je nach auswahl wechseln.
     
  3. StefMa, 10.01.2012 #3
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Was meinst du mit stati? oO
     
  4. swordi, 10.01.2012 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    war der meinung das ist die mehrzahl von status. aber nach googeln ist es das wohl doch nicht.
    naja egal
     
  5. StefMa, 11.01.2012 #5
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Gibt es in XML eine Art Container?
    Dann könnte ich auch alle verschiedene Layouts in eins packen und dann nur sichtbar bzw unsichtbar machen...
    Ansonsten würde das auch mit nem linearlayout gegen.. Oder??

    Gesendet mit der Android-Hilfe.de-App
     
  6. Tom299, 11.01.2012 #6
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    Ich hab bei mir auch nen Spinner auf einer Activity, mit der man Gruppen filtern kann. Je nach ausgewählter Gruppe werden die nicht dazugehörigen Views unsichtbar gemacht und die anderen eingeblendet. Funktioniert wunderbar und auf dem Handy auch flüssig.
    Aber es kommt sicherlich darauf an, wieviele Views insgesamt vorhanden sind.

    Aber zu deinem eigentlichen Problem: wieso änderst du die ganze ContentView? Dann brauchst du ja auch in jedem Layout nochmal deinen Spinner mit der Auswahl?
    Mach den Spinner doch z.B. nur in die Kopfzeile und dann tauschst du nur das Layout darunter aus und nicht die ganze ContentView.
     
  7. StefMa, 11.01.2012 #7
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Den zweiten Schritt will ich ja machen.
    Aber wie ändere ich denn das Layout ohne ContentView? Und wie meinst du das mit Kopfzeile?

    Gesendet mit der Android-Hilfe.de-App
     
  8. the_alien, 11.01.2012 #8
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Mach doch einfach deine Layouts wie du sie dafür brauchst und setze die visibility entsprechend.

    Code:
    View view = findViewById(R.id.spinner_auswahl_foo);
    view.setVisibility(View.VISIBLE);
    Gleiches nur mit INVISIBLE dann für die Sachen, die ausgeblendet werden sollen.
     
  9. StefMa, 11.01.2012 #9
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Ich habe in dem Spinner verschiedene Tage und dafür immer eine XML Datei. Also Montag.xml, Dienstag.xml. Ect...

    Kann ich denn auch das gesamte XML ein-/ausblenden?


    Gesendet mit der Android-Hilfe.de-App
     
  10. Tom299, 11.01.2012 #10
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    LayoutGesamt = main -> contentView
    Layout1 = id2 -> Spinner (Kopfzeile)
    Layout2 = id3 -> Restliche View(s)

    dann besorgst du dir das Layout für main. darauf machst z.b. removeView(1) und danach addView(1) mit dem getauschten layout.
     
  11. the_alien, 11.01.2012 #11
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Du kannst auch Layout XML Dateien per import in andere Layout XML Dateien packen... geht alles.
     

Diese Seite empfehlen