OnResume wird nicht aufgerufen nach Dialog

D@ve

D@ve

Erfahrenes Mitglied
21
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
 
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.
 
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
 
Wenn du den Dialog in deiner Activity definiert hast, dann kannst du ja auf alle Methoden und Variablen zugreifen. Sollte eigentlich kein Problem sein.
 
Tom299 schrieb:
Wenn du den Dialog in deiner Activity definiert hast, dann kannst du ja auf alle Methoden und Variablen zugreifen. Sollte eigentlich kein Problem sein.

Sagst Du nur mir auch WIE? Wenn es kein Problem wäre, hätte ich hier nicht gefragt...
 
hmmm... da fehlen wohl einige grundlagen.

du hast in etwa sowas:

onResume() {
doSomething();
}

onCreateDialog() {
return new Dialog().setPostiveButton("OK", new OnclickListener() {
onClick() {
doSomething();
}
}
 
Wenn du deinen Code postest, kann ich dir vielleicht helfen ;-)
 
du hast in etwa sowas:
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...
 
D@ve schrieb:
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...


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
 
Meiner Logik nache MÜSSTE die aufgerufen werden, wenn ich von einem Dialog aus "zurückkehre" (resume).
 
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
 
D@ve schrieb:
Meiner Logik nache MÜSSTE die aufgerufen werden, wenn ich von einem Dialog aus "zurückkehre" (resume).

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
 

Ähnliche Themen

5
Antworten
22
Aufrufe
1.340
590239
5
SaniMatthias
Antworten
19
Aufrufe
858
swa00
swa00
W
  • waltsoft
Antworten
4
Aufrufe
919
waltsoft
W
Zurück
Oben Unten