@@ -949,16 +949,17 @@ public void onActivityStarted(@NonNull Activity activity) {}
949
949
@ Override
950
950
public void onActivityResumed (@ NonNull Activity activity ) {
951
951
if (mDialog != null && mDialog .isShowing ()) {
952
- // 还原 Dialog 动画样式(这里必须要使用延迟设置,否则有一定几率会出现)
953
- mDialog .post (() -> mDialog .setWindowAnimations (mDialogAnim ));
952
+ // 还原 Dialog 动画样式(这里必须要使用延迟设置,否则还是有一定几率会出现)
953
+ mDialog .postDelayed (() -> {
954
+ if (mDialog != null && mDialog .isShowing ()) {
955
+ mDialog .setWindowAnimations (mDialogAnim );
956
+ }
957
+ }, 100 );
954
958
}
955
959
}
956
960
957
961
@ Override
958
- public void onActivityPaused (@ NonNull Activity activity ) {}
959
-
960
- @ Override
961
- public void onActivityStopped (@ NonNull Activity activity ) {
962
+ public void onActivityPaused (@ NonNull Activity activity ) {
962
963
if (mDialog != null && mDialog .isShowing ()) {
963
964
// 获取 Dialog 动画样式
964
965
mDialogAnim = mDialog .getWindowAnimations ();
@@ -967,15 +968,18 @@ public void onActivityStopped(@NonNull Activity activity) {
967
968
}
968
969
}
969
970
971
+ @ Override
972
+ public void onActivityStopped (@ NonNull Activity activity ) {}
973
+
970
974
@ Override
971
975
public void onActivitySaveInstanceState (@ NonNull Activity activity , @ NonNull Bundle outState ) {}
972
976
973
977
@ Override
974
978
public void onActivityDestroyed (@ NonNull Activity activity ) {
975
979
if (mActivity == activity ) {
976
980
if (mDialog != null ) {
977
- mDialog .removeOnShowListener (null );
978
- mDialog .removeOnDismissListener (null );
981
+ mDialog .removeOnShowListener (this );
982
+ mDialog .removeOnDismissListener (this );
979
983
if (mDialog .isShowing ()) {
980
984
mDialog .dismiss ();
981
985
}
@@ -989,13 +993,17 @@ public void onActivityDestroyed(@NonNull Activity activity) {
989
993
@ Override
990
994
public void onShow (BaseDialog dialog ) {
991
995
mDialog = dialog ;
992
- mActivity .getApplication ().registerActivityLifecycleCallbacks (this );
996
+ if (mActivity != null ) {
997
+ mActivity .getApplication ().registerActivityLifecycleCallbacks (this );
998
+ }
993
999
}
994
1000
995
1001
@ Override
996
1002
public void onDismiss (BaseDialog dialog ) {
997
1003
mDialog = null ;
998
- mActivity .getApplication ().unregisterActivityLifecycleCallbacks (this );
1004
+ if (mActivity != null ) {
1005
+ mActivity .getApplication ().unregisterActivityLifecycleCallbacks (this );
1006
+ }
999
1007
}
1000
1008
}
1001
1009
@@ -1249,4 +1257,4 @@ public interface OnKeyListener {
1249
1257
*/
1250
1258
boolean onKey (BaseDialog dialog , KeyEvent event );
1251
1259
}
1252
- }
1260
+ }
0 commit comments