AlertDialog не отображается после увольнения - PullRequest
0 голосов
/ 28 мая 2019

У меня есть модал AlertDialog, который показывает, когда какая-то переменная имеет значение false, и скрыт, когда эта же переменная имеет значение true.

 if (!IsConnected)
     {
        await _dialogService.ShowAsync("No Internet connection", "No Internet connection").ConfigureAwait(false);
      }
      else
      {
         _dialogService.Dismiss();
       }       

Этот код всегда вызывается.

В первый раз, когда происходит поток, он работает как ожидалось: модальное состояние появляется, когда IsConnected = false, и исчезает, когда IsConnected = true;

AlertDialog построен так:

public Task<bool?> ShowAsync(string title, string message, string okContent = null, string cancelContent = null, bool okBeforeCancel = false)
        {
            var tcs = new TaskCompletionSource<bool?>();

            var alert = BuildAlertView(title, message, okContent, cancelContent, tcs, okBeforeCancel);

            _dialog = alert.Show();

            return tcs.Task;
        }

private static AlertDialog.Builder BuildAlertView(string title, string message, string ok, string cancel, TaskCompletionSource<bool?> tcs, bool okBeforeCancel)
        {
            var mvxTopActivity = Mvx.Resolve<IMvxAndroidCurrentTopActivity>();

            var builder = new AlertDialog.Builder(MainView._thisObject)
                .SetCustomTitle(CreateTitle(title, mvxTopActivity))
                .SetMessage(message)
                .SetCancelable(false);

            return builder;
        }

Я использовал модал без каких-либо кнопок, просто информационный модал.

Я хочу, чтобы при каждом изменении переменной модал отображался, а не скрывался и т. Д.

...