Ich arbeite an einer Android App, die MvvmCross und AndHUD verwendet, um einen Fortschrittsdialog anzuzeigen. Ich habe einen IDialogService Schnittstelle und eine Implementierung auf Android:AndHUD Dialog nicht angezeigt, wenn in Befehl aufgerufen
protected Activity CurrentActivity => Mvx.Resolve<IMvxAndroidCurrentTopActivity>().Activity;
/// <summary>
/// Shows a loading dialog on the whole display.
/// </summary>
public void ShowLoadingDialog()
{
AndHUD.Shared.Show(CurrentActivity, Strings.LoadingLabel);
}
/// <summary>
/// Closes the Loading Dialog.
/// </summary>
public void HideLoadingDialog()
{
AndHUD.Shared.Dismiss(CurrentActivity);
}
Die Schnittstelle über den Konstruktor injiziert wird. Wenn ich den Konstruktor aufrufen:
dialogService.ShowLoadingDialog();
es funktioniert perfekt. Aber wenn ich es im Command anrufe, passiert nichts.
public MvxCommand ImportContactsCommand => new MvxCommand(ImportContacts);
private async void ImportContacts()
{
dialogService.ShowLoadingDialog();
// logic
dialogService.HideLoadingDialog();
await dialogService.ShowMessage("Done!", "Import finished.");
}
Interessant ist, dass der zweite Dialog aufgerufen wird. Irgendeine Idee, was hier falsch ist?