【问题标题】:Xamarin forms : DisplayAlert not workingXamarin 表单:DisplayAlert 不起作用
【发布时间】:2017-12-01 07:13:14
【问题描述】:

亲爱的,

我在我的项目中使用 DisplayAlert 来显示没有互联网连接警报。不幸的是,它不起作用。

它在另一部分工作正常。我不知道它为什么会这样。

我的代码:

            if (Utility.IsInternet())
            {
               UserTweetsList();
            }
            else
             {
                Debug.WriteLine("Enter no internet block");
               DisplayAlert("Alert", "No internet connection", "Ok");
             }

代码进入 else 块并在输出中打印“Enter no internet block”,但不显示警报消息。

这可能是什么原因?

提前谢谢....

【问题讨论】:

  • 这段代码在哪里?如果我没记错的话,需要在视图上显示警报。
  • 我在内容页面中添加了这个
  • 你是否放置了一个断点以确保循环灯进入else块?

标签: xamarin.forms


【解决方案1】:

请尝试以下代码:

Device.BeginInvokeOnMainThread(async () => 
{ 
    await DisplayAlert("Alert", "No internet connection", "Ok"); 
});

【讨论】:

    【解决方案2】:

    一个可能的问题是您从页面或视图外部调用 DisplayAlert。在我的一个应用程序中,我有一个与我的视图分开的类,为了解决这个问题并调用我使用的 DisplayAlert:

    App.Current.MainPage.DisplayAlert(...);
    

    【讨论】:

    • 我尝试了您的代码,出现异常.. [0:] Enter no internet block 解析表达式时出错:出现一个或多个错误。未处理的异常:System.NullReferenceException:
    • 您能否查看您的输出以获取有关异常的更多详细信息?
    • 另外,如果您在内容页面内,那么这不是您遇到的问题,所以我的修复可能不适合您
    • 即使我的代码是从从内容页面继承的类运行的,我也必须这样做,谢谢您的回答
    【解决方案3】:

    我今天遇到了困难,似乎没有一个修复对我有用。不过,我完成了它,这对我有用。在类后面的代码中,我创建了一个公共变量:

    public bool deleteAccountAnswer = false;
    

    调用 deleteAccountPopup 方法并在完成事件中回调

    deleteAccountPopup().OnCompleted(() => removeAccount());
    

    删除账号弹窗代码:

    public System.Runtime.CompilerServices.TaskAwaiter deleteAccountPopup()
        {
            return Device.InvokeOnMainThreadAsync(async ()=>
            {
                deleteAccountAnswer = await this.DisplayAlert("Account Deletion", "You have sure you want to delete the selected account?", "Yes", "No");
            }).GetAwaiter();
        }
    

    ...回调

    public void removeAccount()
        {
            if (deleteAccountAnswer) // was yes not no
            {
    

    【讨论】:

      猜你喜欢
      • 2017-09-20
      • 1970-01-01
      • 2017-04-24
      • 2018-11-11
      • 2017-12-27
      • 1970-01-01
      • 2015-02-14
      • 1970-01-01
      • 2014-12-26
      相关资源
      最近更新 更多