L
lis@
Neues Mitglied
- 0
Hallo zusammen!
Ich rufe innerhalb eines Fragments eine weitere FragmentActivity auf.
Ich beschreib das mal so: FA1 --> F1 --> FA2 --> F2 (FA = FragmentActivity, F = Fragment).
In den Fs erstelle ich jeweils eine Instanz (singelton!) einer eigenen Klasse (C1 bzw. C2). Da es sich um Klassen handelt, welche mir als eine Art WebManager dienen und auf die jeweiligen WebViews (W1 bzw. W2) verweisen, habe ich sie eben als singelton erstellt, um zu gewähren, dass im ganzen Projekt nicht mehrere Stellen darauf zugreifen.
So, folgendes Problem: FAs haben die angewohnheit, nicht nur eine, sondern mehrere Fs zu erstellen (zu der anzuzeigenden noch die links und rechts daneben).
Folgendes WUNSCHszenario:
Ich rufe FA1 auf, zeige F1 an und erstelle dort C1 mit einer entsprechenden ID. Rufe aus C1 FA2 mit der mitgegebenen ID (ursprünglich aus F1) auf. FA2 baut sich aufgrund dieser ID F2 auf.
Tatsächliches Szenario:
Ich rufe FA1 auf, zeige F1 an. Dort erstelle ich max. 3 mal C1 mit einer entsprechenden ID und rufe jedes mal FA2 nacheinander auf, wodurch für die aktuell anzuzeigende FA2 lediglich die letzte Instanz von C1 aus F1 existiert. FA2 baut sich dann aufgrund der (falschen) ID aus C1 die F2 auf.
Ich weis, das klingt kompliziert (daher habe ich ja auch ein deutsches Forum gewählt^^). Um es ein bisschen zu veranschaulichen:
Ich habe eine Übersicht von Artikeln. Wähle ich einen Artikel aus, bin ich in FA1, wo ich durch die F1 die einzelnen Artikel durchscrollen kann. Klicke ich bei einem Artikel auf ein Bild, gelange ich in FA2, in welchem ich durch die F2 die einzelnen Bilder des Artikels durchscrollen kann. Nur sind dort derzeit eben die Bilder des Artikels links neben dem aufgerufenem.... Die ganzen Inhalte werden aus dem Web aufgerufen, um nicht jedes mal einen neuen WebViewClient erstellen zu müssen (und evtl. zu viele Requests zu vermeiden) habe ich eben den Weg mit dem Singelton gewählt.
--edit--
selbst wenn ich es nicht als singelton realisiert, funktioniert es nicht. Dann wird halt immer ein neues Objekt erstellt und das neueste zählt dann...
Ich rufe innerhalb eines Fragments eine weitere FragmentActivity auf.
Ich beschreib das mal so: FA1 --> F1 --> FA2 --> F2 (FA = FragmentActivity, F = Fragment).
In den Fs erstelle ich jeweils eine Instanz (singelton!) einer eigenen Klasse (C1 bzw. C2). Da es sich um Klassen handelt, welche mir als eine Art WebManager dienen und auf die jeweiligen WebViews (W1 bzw. W2) verweisen, habe ich sie eben als singelton erstellt, um zu gewähren, dass im ganzen Projekt nicht mehrere Stellen darauf zugreifen.
So, folgendes Problem: FAs haben die angewohnheit, nicht nur eine, sondern mehrere Fs zu erstellen (zu der anzuzeigenden noch die links und rechts daneben).
Folgendes WUNSCHszenario:
Ich rufe FA1 auf, zeige F1 an und erstelle dort C1 mit einer entsprechenden ID. Rufe aus C1 FA2 mit der mitgegebenen ID (ursprünglich aus F1) auf. FA2 baut sich aufgrund dieser ID F2 auf.
Tatsächliches Szenario:
Ich rufe FA1 auf, zeige F1 an. Dort erstelle ich max. 3 mal C1 mit einer entsprechenden ID und rufe jedes mal FA2 nacheinander auf, wodurch für die aktuell anzuzeigende FA2 lediglich die letzte Instanz von C1 aus F1 existiert. FA2 baut sich dann aufgrund der (falschen) ID aus C1 die F2 auf.
Ich weis, das klingt kompliziert (daher habe ich ja auch ein deutsches Forum gewählt^^). Um es ein bisschen zu veranschaulichen:
Ich habe eine Übersicht von Artikeln. Wähle ich einen Artikel aus, bin ich in FA1, wo ich durch die F1 die einzelnen Artikel durchscrollen kann. Klicke ich bei einem Artikel auf ein Bild, gelange ich in FA2, in welchem ich durch die F2 die einzelnen Bilder des Artikels durchscrollen kann. Nur sind dort derzeit eben die Bilder des Artikels links neben dem aufgerufenem.... Die ganzen Inhalte werden aus dem Web aufgerufen, um nicht jedes mal einen neuen WebViewClient erstellen zu müssen (und evtl. zu viele Requests zu vermeiden) habe ich eben den Weg mit dem Singelton gewählt.
--edit--
selbst wenn ich es nicht als singelton realisiert, funktioniert es nicht. Dann wird halt immer ein neues Objekt erstellt und das neueste zählt dann...
Zuletzt bearbeitet: