xamarin - 当我选择否时,显示警报消息显示两次,为什么?当我选择否时,如何只显示一次警报?
问题描述
公共异步无效 clearswitchHandle_Toggled(对象发件人,Xamarin.Forms.ToggledEventArgs e){
var yesSelected = await DisplayAlert("WARNING!!!", "Are you sure you want to CLEAR DATA entered", "YES", "NO");
if (yesSelected == true)
{
clearButton.IsEnabled = true;
}
else
{
clearSwitch.IsToggled = false;
}
}
解决方案
尝试锁定这个异步方法,它可能会被多次调用:
private bool lockAlert;
public async void Handle_Toggled(object sender, Xamarin.Forms.ToggledEventArgs e)
{
if (lockAlert) return;
lockAlert=true;
var ok = await DisplayAlert("WARNING!!!", "Are you sure you want to CLEAR DATA entered", "YES", "NO");
if (ok)
{
clearButton.IsEnabled = true;
}
else
{
clearSwitch.IsToggled = false;
}
lockAlert=false;
}
推荐阅读
- python - 如何使用给定的函数来传递许多字符串
- android - 即使使用浅色主题,系统也无法在我的应用中禁用强制暗模式。如何解决?
- c# - 行动
用于配置 - r - 如何使用ggplot 2对barplot中的条形重新排序
- c++ - void函数不传递参数c ++
- performance - JMeter 在线程 geoup 中跳过第二个 Get HTTP 请求
- flutter - 定义主题时如何设置输入文本颜色?
- c# - How to Select Items in an Observable Collection with a property that matches a criteria
- python - python键盘如何使按键仅在聚焦时才可检测
- javascript - 如何使用 Javascript/jQuery 或 NPM 库验证 SQL 查询语法?