Fragment must be a public static class to beproperly recreated from instance state.

    技术2022-07-11  117

    最近在调试一个老库时,遇到一个崩溃:

    Caused by: java.lang.IllegalStateException: Fragment com.lianjia.common.ui.gallery.ui.PermissionNotGrantedFragment must be a public static class to be properly recreated from instance state. at android.app.BackStackRecord.doAddOp(BackStackRecord.java:435) at android.app.BackStackRecord.add(BackStackRecord.java:415) at android.app.DialogFragment.show(DialogFragment.java:229) at com.lianjia.common.ui.gallery.ui.TransparentActivity.onCreate(TransparentActivity.java:25) at android.app.Activity.performCreate(Activity.java:7383) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1218) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3256) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3411) at android.app.ActivityThread.-wrap12(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1994) at android.os.Handler.dispatchMessage(Handler.java:108) at android.os.Looper.loop(Looper.java:166) at android.app.ActivityThread.main(ActivityThread.java:7529) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)

    查看代码出处:

    @SuppressLint("ValidFragment") class PermissionNotGrantedFragment extends DialogFragment { }

    类前添加上public关键字,崩溃得以解决。

    Processed: 0.011, SQL: 9