Wenn Sie die Ansicht mehrmals ändern, wird manchmal eine neue Ansicht in der Viewfactory erstellt. (Ich bin mit Nachbrenner btw, aber das sollte nicht das Problem sein) Diese auf jedem Gerät geschieht (Desktop- und Mobile)Ansicht wird mehrfach mit Gluon erstellt
Der folgende Code ist in der init-Methode
addViewFactory(viewname,() -> {
return new ExampleView();
})
Das obige Beispiel produziert mehrere Instanzen der gleichen Ansicht (die einige Presenter von mir bricht)
Eine schnelle Lösung kann unten gesehen werden, sollte aber nicht notwendig sein.
ExampleView view = null;
addViewFactory(viewname,() -> {
if (view == null) {
view = (View) new ExampleView.getView();
}else{
//comment out the line below to see that this is really happening
//throw new RuntimeException("Created View multiple times");
}
return view;
});
EDIT:
Der View-Wechsel geschieht nach wie vor mit Switchview (String)
schalte ich nach wie vor die Ansicht über diese Methode und der addViewFactory Aufruf ist in der init-Methode. Was ich sagte ist, dass, wenn ich Ansichten mit switchView (String) ändere, der Lieferant mehrmals aufgerufen wird, obwohl ich es nur einmal registriert habe. – LucaZ
Ich kann Ihr Problem nicht reproduzieren. Erstellen Sie einfach ein neues Mehrfachansichtsprojekt mit dem Gluon Plugin, führen Sie es aus und Sie werden sehen, dass Ansichten nur einmal erstellt werden. Ansonsten posten Sie relevanten Code, damit wir das Problem reproduzieren können. –