diff --git a/packages/core/ui/core/view/index.android.ts b/packages/core/ui/core/view/index.android.ts index e7a2910d5..c54065fb3 100644 --- a/packages/core/ui/core/view/index.android.ts +++ b/packages/core/ui/core/view/index.android.ts @@ -356,6 +356,9 @@ export class View extends ViewCommon { } public _getFragmentManager(): androidx.fragment.app.FragmentManager { + if ((global)._dialogFragment) { + return (global)._dialogFragment.getChildFragmentManager(); + } let manager = this._manager; if (!manager) { let view: View = this; @@ -708,18 +711,20 @@ export class View extends ViewCommon { saveModal(dialogOptions); this._dialogFragment = df; + (global)._dialogFragment = df; this._raiseShowingModallyEvent(); this._dialogFragment.show(parent._getRootFragmentManager(), this._domId.toString()); } protected _hideNativeModalView(parent: View, whenClosedCallback: () => void) { - const manager = this._dialogFragment.getFragmentManager(); + const manager = this._dialogFragment.getParentFragmentManager(); if (manager) { this._dialogFragment.dismissAllowingStateLoss(); } this._dialogFragment = null; + (global)._dialogFragment = null; whenClosedCallback(); }