xamarin - 当使用 MasterDetailPage 退出并再次进入应用程序时,它会在一定次数后崩溃
问题描述
我的应用程序的第一页是您登录的 Contentpage 或 MasterDetailPage 如果您已经登录。即使应用程序运行良好,如果我退出应用程序并输入一定次数(有时是 2 次,有时甚至是 10 次),应用程序崩溃,我收到下一条错误消息。Java.Lang.IllegalArgumentException: 这出现在 crashlytics 中:
关闭 VM 致命异常:主要
致命异常:> java.lang.IllegalArgumentException:在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1413) 的片段 FragmentContainer{bbc6fff #0 id=0x249} 中找不到 id 0x249(未知)的视图android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1750) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1819) 在 android.support.v4.app.BackStackRecord.executeOps( BackStackRecord.java:797) 在 android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2590) 在 android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2377) 在 android.support.v4 .app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2332) 在 android.support.v4。app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2239) 在 android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:700) 在 android.os.Handler.handleCallback(Handler.java:790) 在 android。 os.Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6494) 在 java.lang.reflect.Method .invoke(Method.java) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6494) 在 java.lang.reflect.Method.invoke (Method.java) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6494) 在 java.lang.reflect.Method.invoke (Method.java) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
这个只有在我在masterdetailpage的时候才会出现,在login页面功能很好
解决方案
错误是我在代码中的两页之间进行的转换太快了,所以其中一个没有完成加载,而另一个正在启动。那是我错误的根源。现在我修复了它,我可以在我的模拟器 android 8.1 中看到它,但是如果我知道为什么我会把它放在帖子中,7.0 会有问题。
编辑:
7.1 中的错误仅在我尝试通过调试在手机中再次安装时出现。错误是下一个:
Android.View.WindowManager BadTokenException: Unable to add window token android.os.BinderProxy is not valid; is your activity running?
如果您安装后可以正常使用该应用程序,它可以正常工作!
推荐阅读
- javascript - 单击按钮后为所有连接的用户重新加载页面
- html - 我们可以用angular中的自定义css覆盖选择器的默认样式吗
- python - 从 Python 中的多个列中删除相同的元素
- python - 如何使用 selenium 读取 python 中的隐藏文本?
- c# - 如何在 Visual Studio 中解决“CA0001:运行代码分析时出现未知错误”
- asp.net-core - HttpContext.User 在 Asp.net 核心 MVC 3.1 中的控制器内为空
- string - 如何在 PowerShell 中使用 select-string 查找字符串不匹配的文件?
- vue.js - VueJS 是否可以访问系统环境变量
- android - findViewById 为 ScrollView 返回 null
- python - 使用 m2m 关系创建对象时出现 SQLAlchemy 会话错误