XWC95/BusinessComponent

view_module_swipeback : 使用官方的提供的夜间模式,会出现崩溃

Closed this issue · 3 comments

切换夜间模式后,跳转Activity后,再返回会崩溃,日志如下:

java.lang.ClassCastException: android.view.View cannot be cast to android.view.ViewGroup
at com.from.view.swipeback.SwipeBackShadowView.unBindPreActivity(SwipeBackShadowView.java:127)
at com.from.view.swipeback.SwipeBackLayout.dispatchOnPanelOpened(SwipeBackLayout.java:443)
at com.from.view.swipeback.SwipeBackLayout$DragHelperCallback.onViewDragStateChanged(SwipeBackLayout.java:1449)
at androidx.customview.widget.ViewDragHelper.setDragState(ViewDragHelper.java:891)
at androidx.customview.widget.ViewDragHelper$2.run(ViewDragHelper.java:343)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:192)
at android.app.ActivityThread.main(ActivityThread.java:6847)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:825)

XWC95 commented

能看一下你的Activity布局文件吗

能看一下你的Activity布局文件吗

   // 夜间模式
    findViewById(R.id.activity_main_bt_night).setOnClickListener(v -> {
        getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);
        recreate();
    });

就一个Activity有一个Button,点击会切换夜间模式
我也是写的日常练习用的demo,发现你这个库意外的好用,就接入进了demo,发现会崩溃

XWC95 commented

修复了。setLocalNightMode之后recreate 不用再一次调用,内部已帮你调用过一次