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

OnResume wird nicht aufgerufen nach Dialog

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von D@ve, 19.01.2012.

  1. D@ve, 19.01.2012 #1
    D@ve

    D@ve Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    410
    Erhaltene Danke:
    18
    Registriert seit:
    18.12.2011
    Ich hab ein TabLayout mit einer ListeActivity.
    Wenn ich auf ein Element Lange Clicke erscheint ein Dialog mit dem man auswählen kann, in welchem Tab das Element erscheinen soll. Logischerweise müssen die Tabs dann neu geladen werden, was ich in der onResume-Funktion implementiert habe. Dummerweise wird die aber nach dem Dialog nicht aufgerufen...

    a) Warum nicht?
    b) kann ich das irgendwie händisch machen? Wie komme ich an die Funktion aus dem Dialog heraus ran.

    Ich habe ja folgende Struktur
    TabActivity => ListActivity => OnLongClickListener => Dialog.Builder

    Und ich müsste ja dann vom OnLongClickListener aus den OnResume von der TabActivity aufrufen...

    Gruß, Dave
     
  2. Tom299, 20.01.2012 #2
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    Das kannst du auch im Dialog machen ... du mußt ja vermutlich mit OK deine Auswahl bestätigen, also kannst du beim Click von OK deine Funktion aufrufen.
     
  3. D@ve, 20.01.2012 #3
    D@ve

    D@ve Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    410
    Erhaltene Danke:
    18
    Registriert seit:
    18.12.2011
    Das dachte ich mir schon, dass das "irgendwie" geht. Aber wie komme ich in dem Dialog bzw. in dem EventListener an die ursprüngliche TabActivity ran? Über getContext() scheint das nicht zu funktionieren. Hab da jetzt stundenlang gegooglet und nix gefunden.
    Muss auch sagen, dass ich in Bezug auf Android noch nicht sehr erfahren bin.

    Gruß, Dave
     
  4. Tom299, 20.01.2012 #4
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    Wenn du den Dialog in deiner Activity definiert hast, dann kannst du ja auf alle Methoden und Variablen zugreifen. Sollte eigentlich kein Problem sein.
     
  5. D@ve, 20.01.2012 #5
    D@ve

    D@ve Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    410
    Erhaltene Danke:
    18
    Registriert seit:
    18.12.2011
    Sagst Du nur mir auch WIE? Wenn es kein Problem wäre, hätte ich hier nicht gefragt...
     
  6. swordi, 20.01.2012 #6
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    hmmm... da fehlen wohl einige grundlagen.

    du hast in etwa sowas:

    onResume() {
    doSomething();
    }

    onCreateDialog() {
    return new Dialog().setPostiveButton("OK", new OnclickListener() {
    onClick() {
    doSomething();
    }
    }
     
  7. Tom299, 20.01.2012 #7
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    Wenn du deinen Code postest, kann ich dir vielleicht helfen ;-)
     
  8. D@ve, 20.01.2012 #8
    D@ve

    D@ve Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    410
    Erhaltene Danke:
    18
    Registriert seit:
    18.12.2011
    Nein

    Ich habe drei eigene Klassen
    TabActivity
    ListActivity
    LongClickListener

    Die TabActivity erstellt eine Instanz von ListActivity und die ListActivity erstell einen neuen LonClickListener

    Und aus dem LongClicklistener will ich nunmal das OnResume von der TabActivity aufrufen.

    Klar, ich könnte jetzt eine Referenz von der TabActivity mit durchreichen, aber das wäre ziemlich unsauber...
     
  9. D@ve, 20.01.2012 #9
    D@ve

    D@ve Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    410
    Erhaltene Danke:
    18
    Registriert seit:
    18.12.2011
  10. swordi, 20.01.2012 #10
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009

    Das einzige was ich hier sehe was unsauber ist, ist es die onResume selbst aurufen zu wollen. Das ist eine Methode des Activity Lifecycles und die wird von Android aufgerufen wenn es es für richtig hält
     
  11. D@ve, 20.01.2012 #11
    D@ve

    D@ve Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    410
    Erhaltene Danke:
    18
    Registriert seit:
    18.12.2011
    Meiner Logik nache MÜSSTE die aufgerufen werden, wenn ich von einem Dialog aus "zurückkehre" (resume).
     
  12. DieGoldeneMitte, 20.01.2012 #12
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Meiner Logik nach nicht: Ich fasse Dialoge als Teil der Activity auf.
    Also wird diese nicht unterbrochen und dann auch nicht resumt.

    *Der View* der Activity wird vielleicht "unterbrochen", aber das ist was anders :D
     
  13. swordi, 20.01.2012 #13
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    ist nicht so: es heißt ja auch activity lifecycle und nicht activity & dialog lifecycle

    um das zu erreichen müsste eine neue activity anlegen und die als Theme.Dialog starten

    dann sieht es aus wie ein dialog, hängt sich aber in den activity lifecycle
     

Diese Seite empfehlen