- Forum-Beiträge: 20
17.08.2012, 18:25:55 via Website
17.08.2012 18:25:55 via Website
das Szenario sieht folgendermaßen aus:
Innerhalb eines Dialogs kann ein weiterer Dialog aufgerufen werden. Da in beiden Dialogen Werte in der zugrundeliegenden Datenbank geändert werden können, ist es zwingend notwendig, dass der erste Dialog darüber informiert wird wenn der zweite Dialog beendet wird, um ggf. auf dessen Änderungen zu reagieren.
Ich suche also einen Handler, der den Focus des Dialogs überwacht, so dass ich beim (wieder) Erlangen des Focus ggf. reagieren kann. Sowas in der Art wie meinDialog.setOnFocusChangedListener()... wäre gut, gibt es aber nicht :-).
Zwischenzeitlich habe ich mich mit einer Runnable beholfen, die beim Aufruf des zweiten Dialogs gestartet wird und alle 100ms prüft, ob der zweite Dialog noch offen ist. Ist dies nicht der Fall, wird die Runnable beendet und ggf. auf die Änderungen aus dem zweiten Dialog reagiert. Funktioniert, ist aber nicht besonders elegant, zumal das ja auch nach Brechstange aussieht.
Das mit den überlappenden Dialogen hört sich vllt. uferlos an, ist aber recht userfreundlich, da im ersten Dialog per Checkboxen Items aus einer Tabelle gewählt werden können und, falls nötig, über den zweiten Dialog ein weiteres Item zugefügt werden kann, das dann natürlich im ersten Dialog an der richtigen Stelle angezeigt werden soll.
Hat vielleicht jemand einen eleganteren Vorschlag als die Runnable?
Schöne Grüße,
Roman
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.