最近在调试一个老库时,遇到一个崩溃:
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关键字,崩溃得以解决。