首先,我尝试解决以下问题:
步骤 1. 我在 BaseActivity 和 BaseActivity 抽象类中放置了一个方法,以了解 Activity 何时停止以及视图(片段的根视图)何时被销毁 [在两种情况下返回 true,但在事件之前返回 false (onStop( ), onViewDestroyed()) 被调用]。
步骤 2. 当两者中的任何一个返回 true 时,我阻止显示唯一的 SnackBar。还检查了 BaseActivity 的 isFinishing()。
但错误并没有消失。
我想了解更多关于这门课的信息:
android.support.design.widget.BaseTransientBottomBar
以及与其相关的内部异常,以及如何解决以下问题:
08-25 16:45:50.826 5618-5688/com.my_package D/CrashlyticsCore: Session 5B8139230285-0001-15F2-C62ED7C4B2D1 has fatal exception: true
08-25 16:45:50.827 5618-5688/com.my_package D/CrashlyticsCore: Session 5B8139230285-0001-15F2-C62ED7C4B2D1 has non-fatal exceptions: false
08-25 16:45:51.481 5618-5618/com.my_package E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.my_package, PID: 5618
java.lang.IllegalStateException: ScrollView can host only one direct child
at android.widget.ScrollView.addView(ScrollView.java:251)
at android.support.design.widget.BaseTransientBottomBar.showView(BaseTransientBottomBar.java:428)
at android.support.design.widget.BaseTransientBottomBar$1.handleMessage(BaseTransientBottomBar.java:176)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:168)
at android.app.ActivityThread.main(ActivityThread.java:5845)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687)
08-25 16:45:53.654 5618-5688/com.my_package D/CrashlyticsCore: Removing report at /data/user/0/com.my_package/files/.Fabric/com.crashlytics.sdk.android.crashlytics-core/fatal-sessions/5B8139230285-0001-15F2-C62ED7C4B2D1.cls
08-25 16:45:58.626 9576-9643/com.my_package D/CrashlyticsCore: Session 5B813A670174-0002-15F2-C62ED7C4B2D1 has fatal exception: false
08-25 16:45:58.627 9576-9643/com.my_package D/CrashlyticsCore: Session 5B813A670174-0002-15F2-C62ED7C4B2D1 has non-fatal exceptions: false
No events present for session ID 5B813A670174-0002-15F2-C62ED7C4B2D1
Removing session part files for ID 5B813A670174-0002-15F2-C62ED7C4B2D1
Details:
请注意,我的是 Desire 816 HTC 设备,它从 KitKat 开始,现在升级到 MarshMallow,但仍然存在 KitKat 的错误,例如相机在拍摄第一张照片后未释放资源并崩溃。
但必须有一些解决方案来防止这种情况,例如以下解决方案:
https://stackoverflow.com/a/52014209/787399 https://stackoverflow.com/a/52014209/787399
我最诚挚的问候。
我用我自己的答案解决了它:
当我在 onDestroy() 中使用布尔变量并检查它时,我知道我不应该显示 Snackbar,因为它使用 view 作为第二个参数。解释链接:
Fragment onStop() 与 onDetach()、onDestroy() 或 onDestroyView() 相同吗? https://stackoverflow.com/a/52017432/787399
还因为以下链接中详细描述的限制:
https://developer.android.com/topic/libraries/architecture/lifecycle#kotlin https://developer.android.com/topic/libraries/architecture/lifecycle#kotlin
快乐编码:-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)