android - 在 onSaveInstanceState 之后无法使用 BottomsheetDialogFragment 执行此操作吗?

标签 android android-fragments android-dialogfragment bottom-sheet

我正在使用 BottomsheetDialogFragment,最近收到了关于 crashlytics 的崩溃报告,堆栈跟踪是 -

Fatal Exception: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:2044) at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:2067) at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:680) at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:634) at android.support.v4.app.DialogFragment.dismissInternal(DialogFragment.java:205) at android.support.v4.app.DialogFragment.dismiss(DialogFragment.java:171) at com.khaalijeb.inkdrops.ListBanks.onSuccessResponse(ListBanks.java:322) at com.khaalijeb.inkdrops.App.onSuccessResponse(App.java:800) at com.olive.upi.OliveUpiManager.onSuccessResponse(Unknown Source:970) at com.olive.upi.transport.d$33.onResponse(Unknown Source:16) at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:169) at android.app.ActivityThread.main(ActivityThread.java:6595) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

我不知道是什么导致了这个错误,因为它没有在某些设备上发生,而不是在所有设备上发生。有人之前遇到过这个问题以及如何克服它吗?

我已经测试了这个特定的代码 1000 次,但从未测试过,但在生产环境中,我在大约 2-3 台设备上遇到了这个错误。

如何调用commitAllowingStateLoss();?这能解决问题吗?

最佳答案

BottomsheetDialogFragment#dismissAllowingStateLoss method在 Material 库中,您可以解决这个问题

关于android - 在 onSaveInstanceState 之后无法使用 BottomsheetDialogFragment 执行此操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54147965/

相关文章:

java - android 项目构建失败

android - 如何使用 Kotlin 修复此错误,找不到 Fragment 构造函数?

android - 我如何从 Activity 中知道它的所有 Fragments 都调用了 onCreateView

java - Android 警报对话框无法找到 View

android - v7 支持 23.0.1 崩溃 : AppCompatButton. setBackgroundDrawable

安卓 ListView

android - Handler.postDelayed(...) 不会延迟 Runnable

android - 解析复杂json数据时出现 flutter 问题

Android LiveData 在 fragment 中创建多个观察者

android-studio - 安卓工作室 : Cannot get DialogFragment's inflated layout to match_parent