junixapp/XPopup

弹窗show异常问题

billdizl opened this issue · 0 comments

XPopup版本
2.9.19
手机系统和型号
华为Mate20 Android 10

描述你的问题
复用basepop多次调用dismiss后,会导致show不起来,需要修改下dismiss的代码逻辑

/**
 * 消失
 */
public void dismiss() {
    handler.removeCallbacks(initTask);
    if (popupStatus == PopupStatus.Dismissing || popupStatus == PopupStatus.Dismiss) return;
    popupStatus = PopupStatus.Dismissing;
    clearFocus();
    if (popupInfo != null && popupInfo.xPopupCallback != null)
        popupInfo.xPopupCallback.beforeDismiss(this);
    beforeDismiss();
    lifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_PAUSE);
    doDismissAnimation();
    doAfterDismiss();
}

需要先判断下如果该pop showing时才dismiss,否则不做处理