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

onCreateDialog, wozu?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von DieGoldeneMitte, 17.09.2010.

  1. DieGoldeneMitte, 17.09.2010 #1
    DieGoldeneMitte

    DieGoldeneMitte Threadstarter Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Hallo,

    ich verstehe nicht so ganz, welche Arbeit mit onCreateDialog abnehmen soll. Sehe ich das richtig, dass die Funktion nur für supermoppelige Dialoge gedacht ist?

    Wenn ich über diese Methode einen komplizierteren Dialog erzeugen will, muss ich eventuelle Parameter irgendwie an onCreateDialog weitergeben. Also in einer Instanzvariable der Activity - damit werden die Parameter des Dialog zum Zustand der Activity - unschön. Außerdem muss ich sicherstellen, dass es beim zweiten aufruf wieder richtig konfiguriert wird, was nicht ganz leicht ist, da ich nach showDialog() den Dialog nicht in die Finger bekomme.

    Da kann ich doch viel eleganter den Dialog selbst als Instanzvariable speichern, um ihn beim Aufruf (im show()) passend zu konfigurieren.

    Oder übersehe ich da was?
     
  2. andy572, 19.09.2010 #2
    andy572

    andy572 Android-Hilfe.de Mitglied

    Beiträge:
    84
    Erhaltene Danke:
    5
    Registriert seit:
    05.09.2010
    Phone:
    Samsung Galaxy S3
    Die show()-Funktion gibt Dir doch das Dialog-Object zurück, dann kommst Du doch zur Laufzeit wieder ran, oder ?
     
  3. DieGoldeneMitte, 19.09.2010 #3
    DieGoldeneMitte

    DieGoldeneMitte Threadstarter Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    show()? Normalerweise schmeißt man die Dialoge doch mit Activity.showDialog(id) auf den Schirm. Da bekommt man das Dialogobjekt nicht.

    Nicht dass man mich mißversteht. Ich kann ohne Probleme einen Dialog zu Fuß erzeugen und cachen. Tuts auch prima. Würde halt nur gerne -rein akademisch- wissen, ob und welche Probleme es dann geben könnte.
     
  4. BenOtto, 20.09.2010 #4
    BenOtto

    BenOtto Android-Hilfe.de Mitglied

    Beiträge:
    141
    Erhaltene Danke:
    15
    Registriert seit:
    30.08.2010
    Es gibt noch die Methode onPrepareDialog()

    Da kannst du den Dialog mit den passenden Attributen versehen.
     
    DieGoldeneMitte bedankt sich.
  5. DieGoldeneMitte, 20.09.2010 #5
    DieGoldeneMitte

    DieGoldeneMitte Threadstarter Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Das nützt auch nur so halb, weil man die Konfigurationsparameter immer noch "über den Heap" schmuggeln muss.
     
  6. BenOtto, 20.09.2010 #6
    BenOtto

    BenOtto Android-Hilfe.de Mitglied

    Beiträge:
    141
    Erhaltene Danke:
    15
    Registriert seit:
    30.08.2010
    Der Dialog ist ja Teil der Activity. Somit ist es auch sinnvoll die Werte dort zu speichern.
     
  7. DieGoldeneMitte, 07.10.2010 #7
    DieGoldeneMitte

    DieGoldeneMitte Threadstarter Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Hihi, in Froyo gibt es nun ein Bundle als extra Parameter zu onPrepareDialog.
    Problem solved. :thumbup:
     

Diese Seite empfehlen