2016-12-20 3 views
1

Ich bekomme eine IllegalStateException mit "Aktivität wurde zerstört", wenn ich meine App schließe.Xamarin IllegalStateException Aktivität wurde beim Schließen der App zerstört

In meinem App.cs mir einen öffentlichen statischen Master erklären:

protected override void OnStart() 
    { 
     // Handle when your app starts 
     if (Device.OS == TargetPlatform.Android) 
     { 
      Device.BeginInvokeOnMainThread(() => 
      { 
       masterdetail = new MasterPage(); 
       MainPage = masterdetail; 
      }); 
     } 
     else 
     { 
      masterdetail = new MasterPage(); 
      MainPage = masterdetail; 
     } 
    } 

Und in den MasterPage.cs erkläre ich den Meister und die DetilPage:

public partial class MasterPage : MasterDetailPage 
{ 

    public MasterPage() 
    { 

     var IsLoggedIn = false; 

     if (CrossSecureStorage.Current.HasKey("isLoggedIn")) 
     { 
      IsLoggedIn = string.Equals(CrossSecureStorage.Current.GetValue("isLoggedIn"), "true", System.StringComparison.CurrentCultureIgnoreCase); 
     } 

     Master = SetMasterContentPage(); 
     if (IsLoggedIn) 
     { 
      Detail = new NavigationPage(new TaxonomyOverviewPage()); 
     } 
     else { 
      Detail = new NavigationPage(new LoginPage()); 
     } 
    } 

    ContentPage SetMasterContentPage() 
    { 
     var masterPage = new ContentPage { Title = "Test"}; 
     masterPage.Content = new StackLayout 
     { 
      Children = { 
       new Label{Text="Label1"}, 
       new Label{Text="Label2"}, 
       new Label{Text="Label3"} 
      } 
     }; 

     return masterPage; 
    } 

    protected override void OnDisappearing() 
    { 
     base.OnDisappearing(); 
     GC.Collect(); 
    } 
} 
+0

Die Zeile 'GC.Collect();' verursacht das wahrscheinlich? –

+0

@GeraldVersluis Nein, leider nicht. Das war ein Versuch, das Problem zu beheben, aber ohne Erfolg. Ich habe auch versucht, GC 'Collect();' -Zeilen auskommentieren, aber die Ausnahme ist immer noch da. – Zero

+0

Ist es, wenn Sie Ihre App schließen oder wieder öffnen? Siehe [this thread] (https://forums.xamarin.com/discussion/72954/java-lang-illegalstateexception-activity-has-bede-destroyed-on-pageadapter) in den Xamarin-Foren mit einem ähnlichen Problem –

Antwort

2

Ok, das war ein Fehler in Xamarin.Forms Version 2.3.3.175. Um diesen Fehler zu beheben, installieren Sie eine frühere Version von Xamarin.Forms. Ich bekomme meine App mit der Version 2.3.0.107.

Der Fehler in Version 2.3.3.175 sollte in Version 2.3.4-pre1 behoben werden.

+1

sogar auf 2.3.4-pre1 das gleiche passiert mir – Levvy

+0

Vielleicht xamarin wird es nicht in Version 2.3.4-pre1 beheben :(Ich bin auf Version 2.3.2.127 und bekomme diesen Fehler nicht – Zero

+0

Ich habe Version 2.3.4-pre1 getestet und der Fehler ist weg – Zero

Verwandte Themen