1. DieGoldeneMitte, 17.09.2010 #1
    DieGoldeneMitte

    DieGoldeneMitte Threadstarter Android-Lexikon

    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

    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

    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

    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

    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

    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

    Hihi, in Froyo gibt es nun ein Bundle als extra Parameter zu onPrepareDialog.
    Problem solved. :thumbup: