在Xamarin Android中使用FormsAppCompatActivity时发生Java.Lang.IllegalStateException

在Xamarin Android中使用FormsAppCompatActivity时发生Java.Lang.IllegalStateException,xamarin,xamarin.android,Xamarin,Xamarin.android,Xamarin android代码在与以下代码一起使用时出现运行时异常: public class MyActivity: global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity { protected override void OnCreate(Bundle bundle) { ToolbarResource = Resource.Layout.toolbar; TabLayo

Xamarin android代码在与以下代码一起使用时出现运行时异常:

public class MyActivity: global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
    protected override void OnCreate(Bundle bundle)
    {
        ToolbarResource = Resource.Layout.toolbar;
        TabLayoutResource = Resource.Layout.tabs;
        base.OnCreate(bundle);

        global::Xamarin.Forms.Forms.Init(this, bundle);
        LoadApplication(new App());            
    }
}
运行应用程序时,其生成会成功。但在运行时,iot出现以下错误:

Java.Lang.IllegalStateException: Exception of type 'Java.Lang.IllegalStateException' was thrown.
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () <IL 0x00011, 0x00078>
at Android.Runtime.JNIEnv.CallIntMethod (intptr,intptr) <IL 0x00069, 0x00297>
at Android.Support.V4.App.FragmentTransactionInvoker.Commit () <IL 0x00038, 0x00143>
at Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.SwitchContentAsync (Xamarin.Forms.Page,bool,bool,bool) <IL 0x00140, 0x00953>
at Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.OnPushAsync (Xamarin.Forms.Page,bool) <IL 0x00005, 0x00063>
at Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.PushViewAsync (Xamarin.Forms.Page,bool) <IL 0x00003, 0x00053>
at Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.<OnElementChanged>b__13_0 (Xamarin.Forms.Page) <IL 0x00003, 0x0004f>
at Xamarin.Forms.EnumerableExtensions.ForEach<Xamarin.Forms.Page> (System.Collections.Generic.IEnumerable`1<Xamarin.Forms.Page>,System.Action`1<Xamarin.Forms.Page>) <0x00157>
An unhandled exception occured.

at Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs`1<Xamarin.Forms.NavigationPage>) <IL 0x001bb, 0x00e0f>
at Xamarin.Forms.Platform.Android.VisualElementRenderer`1<Xamarin.Forms.NavigationPage>.SetElement (Xamarin.Forms.NavigationPage) <0x00827>
at Xamarin.Forms.Platform.Android.VisualElementRenderer`1<Xamarin.Forms.NavigationPage>.Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement) <0x0012b>
at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement) <IL 0x00021, 0x0014f>
at Xamarin.Forms.Platform.Android.MasterDetailContainer.set_ChildView (Xamarin.Forms.VisualElement) <IL 0x00049, 0x001df>
at Xamarin.Forms.Platform.Android.AppCompat.MasterDetailPageRenderer.UpdateDetail () <IL 0x0001d, 0x000e3>
at Xamarin.Forms.Platform.Android.AppCompat.MasterDetailPageRenderer.HandlePropertyChanged (object,System.ComponentModel.PropertyChangedEventArgs) <IL 0x0002c, 0x00157>
at (wrapper delegate-invoke) <Module>.invoke_void_object_PropertyChangedEventArgs (object,System.ComponentModel.PropertyChangedEventArgs) <IL 0x0002f, 0x0008b>
at Xamarin.Forms.BindableObject.OnPropertyChanged (string) <IL 0x00012, 0x000d7>
at Xamarin.Forms.Element.OnPropertyChanged (string) <IL 0x00002, 0x0005f>
at Xamarin.Forms.MasterDetailPage.set_Detail (Xamarin.Forms.Page) <IL 0x0007b, 0x002eb>
at eWorker.App.SetRootPage (Xamarin.Forms.Page) [0x00025] in C:\SIProducts\360\Dev\Frontend\BugFixes\Source\BIF\Source\eWorker\XamarinApp\Shared\eWorkerShared\App.cs:97
at eWorker.Views.HomePage.OnAppearing () [0x0000e] in C:\SIProducts\360\Dev\Frontend\BugFixes\Source\BIF\Source\eWorker\XamarinApp\Shared\eWorkerShared\Views\HomePage.cs:39
at Xamarin.Forms.Page.SendAppearing () <IL 0x00025, 0x0011f>
at Xamarin.Forms.Platform.Android.AppCompat.FragmentContainer.set_UserVisibleHint (bool) <IL 0x0004b, 0x002a3>
at Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer/<>c__DisplayClass52_0.<SwitchContentAsync>b__1 () <IL 0x00014, 0x0008f>
at Xamarin.Forms.Forms/AndroidPlatformServices/<>c__DisplayClass17_0.<StartTimer>b__1 () <IL 0x00006, 0x00053>
at Java.Lang.Thread/RunnableImplementor.Run () <IL 0x00011, 0x00097>
at Java.Lang.IRunnableInvoker.n_Run (intptr,intptr) <IL 0x0000a, 0x000a3>
at (wrapper dynamic-method) object.ba4e6bb4-0814-4b71-9867-78bee59c6f1f (intptr,intptr) <IL 0x00011, 0x0003b>
  --- End of managed exception stack trace ---
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
    at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1448)
    at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1466)
    at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:634)
    at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:613)
    at mono.java.lang.RunnableImplementor.n_run(Native Method)
    at mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:29)
    at android.os.Handler.handleCallback(Handler.java:733)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:146)
    at android.app.ActivityThread.main(ActivityThread.java:5603)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
    at dalvik.system.NativeStart.main(Native Method)
03): Shutting down VM
hreadid=1: thread exiting with uncaught exception (group=0x41b6bc08)
Java.Lang.IllegalStateException:引发了类型为“Java.Lang.IllegalStateException”的异常。
在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()中
在Android.Runtime.JNIEnv.CallIntMethod(intptr,intptr)上
位于Android.Support.V4.App.fragmentTransactionVoker.Commit()
位于Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.SwitchContentAsync(Xamarin.Forms.Page,bool,bool,bool)
位于Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.OnPushAsync(Xamarin.Forms.Page,bool)
位于Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.PushViewAsync(Xamarin.Forms.Page,bool)
位于Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.b_uu13_0(Xamarin.Forms.Page)
位于Xamarin.Forms.EnumerableExtensions.ForEach(System.Collections.Generic.IEnumerable`1,System.Action`1)
发生未处理的异常。
位于Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.OnElementChanged(Xamarin.Forms.Platform.Android.ElementChangedEventArgs`1)
位于Xamarin.Forms.Platform.Android.VisualElementRenderer`1.SetElement(Xamarin.Forms.NavigationPage)
位于Xamarin.Forms.Platform.Android.VisualElementRenderer`1.Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement(Xamarin.Forms.VisualElement)
位于Xamarin.Forms.Platform.Android.Platform.CreateRenderer(Xamarin.Forms.VisualElement)
位于Xamarin.Forms.Platform.Android.MasterDetailContainer.set_ChildView(Xamarin.Forms.VisualElement)
位于Xamarin.Forms.Platform.Android.AppCompat.MasterDetailPageRenderer.UpdateDetail()
位于Xamarin.Forms.Platform.Android.AppCompat.MasterDetailPageRenderer.HandlePropertyChanged(对象、系统、组件模型、属性更改Deventargs)
在(包装委托调用).invoke\u void\u object\u PropertyChangedEventArgs(对象,System.ComponentModel.PropertyChangedEventArgs)
位于Xamarin.Forms.BindableObject.OnPropertyChanged(字符串)
位于Xamarin.Forms.Element.OnPropertyChanged(字符串)
位于Xamarin.Forms.MasterDetailPage.set_Detail(Xamarin.Forms.Page)
在C:\SIProducts\360\Dev\Frontend\buggfixes\Source\BIF\Source\eWorker\XamarinApp\Shared\eWorkerShared\App.cs:97中的eWorker.App.SetRootPage(Xamarin.Forms.Page)[0x00025]中
在C:\SIProducts\360\Dev\Frontend\bug fixes\Source\BIF\Source\eWorker\XamarinApp\Shared\eWorkerShared\Views\HomePage.cs:39中的eWorker.Views.HomePage.OnAppearing()[0x0000e]
在Xamarin.Forms.Page.send()处
位于Xamarin.Forms.Platform.Android.AppCompat.FragmentContainer.set_UserVisibleHint(bool)
在Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer/c__DisplayClass52_0.b__1()
在Xamarin.Forms.Forms/AndroidPlatformServices/c_uudisplayClass17_0.b_u1()
位于Java.Lang.Thread/RunnableImplementor.Run()
在Java.Lang.IRunnableInvoker.n_运行(intptr,intptr)
at(包装器动态方法)object.ba4e6bb4-0814-4b71-9867-78bee59c6f1f(intptr,intptr)
---托管异常堆栈跟踪的结束---
java.lang.IllegalStateException:在onSaveInstanceState之后无法执行此操作
位于android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1448)
位于android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1466)
位于android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:634)
位于android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:613)
在mono.java.lang.RunnableImplementor.n_运行(本机方法)
位于mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:29)
位于android.os.Handler.handleCallback(Handler.java:733)
位于android.os.Handler.dispatchMessage(Handler.java:95)
位于android.os.Looper.loop(Looper.java:146)
位于android.app.ActivityThread.main(ActivityThread.java:5603)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:515)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
在dalvik.system.NativeStart.main(本机方法)
03):关闭虚拟机
hreadid=1:线程退出时出现未捕获异常(组=0x41b6bc08)

此错误发生在调用
Navigation.PushAsync
Navigation.PushModalAsync
的点。

经过一些研发,我发现问题是在保存应用程序的前一阶段时出现的。当手动删除旧应用程序,然后在调试时安装该应用程序时,该功能才起作用


但这不是一个合适的解决方案,因此欢迎提供任何建议/帮助。

您找到合适的代码修复程序了吗?手动删除并重新安装应用程序不是一个好主意,因为我没有找到任何正确的修复程序。我尝试了一些方法,比如重写onSaveInstanceState方法,但没有成功。如果你能帮忙的话?