У меня в настоящее время есть 2 PopupWindow
, один уходит сразу после Button
нажатия.
private async void ClosePopupWindow(object sender, View.TouchEventArgs e)
{
_popUpReceiptWindow.Dismiss();
await Task.Delay(5000);
Intent intent = new Intent(this, typeof(MainActivity));
intent.SetFlags(Intent.Flags);
Finish();
}
Из-за природы этого PopupWindow
он закрывается и затем переключается на другое Activity
.
Окно, которое не закрывает правильно, это строка кода.
private void CloseEftWindow(object sender, View.TouchEventArgs e)
{
_popupEftWindow.Dismiss();
}
Вот инициализация окна, которое не закрывается должным образом:
private void EftButton_OnTouchedAsync(object sender, View.TouchEventArgs e)
{
_eftButton.Touch -= EftButton_OnTouchedAsync;
var popupEftView = LayoutInflater.Inflate(Resource.Layout.CreditCardPopupWindow, null);
_creditCardState = EftType.EftCardInserted;
_popUpCashbackButton = popupEftView.FindViewById<Button>(Resource.Id.popupCreditCardCashBackButton);
_popupEFTCancelButton = popupEftView.FindViewById<Button>(Resource.Id.popupCreditCardCancel);
_popupEftWindow = new PopupWindow(popupEftView, _subTotalLayout.Width, 500, true);
_popupEftWindow.ShowAtLocation(_subTotalLayout, GravityFlags.Bottom, 0, 0);
_popupEFTCancelButton.Touch += CloseEftWindow;
SubscribeCreditCardElements(popupEftView);
CreditCardStateTranstion(EftType.EftCardInserted);
_popUpCashbackButton.Touch += CashbackButtonSelected;
_eftButton.Touch += EftButton_OnTouchedAsync;
}
И вот инициализация, которая закрывается правильно:
private void UnderZeroBalanceReached()
{
View popUpView = LayoutInflater.Inflate(Resource.Layout.PopupView, null);
if (_totalAmount <= 0)
{
_popUpOkButton = popUpView.FindViewById<Button>(Resource.Id.popupReceiptYesButton);
_popUpReceiptWindow = new PopupWindow(popUpView, _subTotalLayout.Width, 500, true);
_popUpReceiptWindow.ShowAtLocation(_subTotalLayout, GravityFlags.Bottom, 0, 0);
_popUpOkButton.Touch += ClosePopupWindow;
DisableRightSidePaneButtons();
}
}
Кто-нибудь может увидеть, что я делаю неправильно?Я использовал точки останова при закрытии всплывающего окна eft, но не могу понять, почему оно на самом деле не закрывается.