onCreateDialog, wozu?

DieGoldeneMitte

DieGoldeneMitte

Dauergast
262
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?
 
Die show()-Funktion gibt Dir doch das Dialog-Object zurück, dann kommst Du doch zur Laufzeit wieder ran, oder ?
 
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.
 
Es gibt noch die Methode onPrepareDialog()

Da kannst du den Dialog mit den passenden Attributen versehen.
 
  • Danke
Reaktionen: DieGoldeneMitte
Das nützt auch nur so halb, weil man die Konfigurationsparameter immer noch "über den Heap" schmuggeln muss.
 
Der Dialog ist ja Teil der Activity. Somit ist es auch sinnvoll die Werte dort zu speichern.
 
Hihi, in Froyo gibt es nun ein Bundle als extra Parameter zu onPrepareDialog.
Problem solved. :thumbup:
 

Ähnliche Themen

WWolf
Antworten
1
Aufrufe
1.262
Andy
Andy
R
Antworten
3
Aufrufe
1.946
swordi
S
Zurück
Oben Unten