2017-12-18 15 views
0

私のviewmdodelクラスでは、コンストラクタから関数を呼び出しています。その関数の中で私はUserdialogesとdisplayalertプロパティを使用しています。しかし、両方がUIに表示されていません。両方の例外を取得します。UI(ViewModel)で表示とユーザダイアログが表示されない

Displayalert例外:

例外:> System.NullReferenceException:オブジェクト参照が オブジェクトのインスタンスに設定されていません。

UserDialogs例外:

例外:> System.ArgumentExceptionの:アンドロイドでは、カスタムからあなたの最初の活動OR UserDialogs.Init(APP)から UserDialogs.Initを(活動)を呼び出す必要があります私はまた目を実施している

(()=>トップアクティビティを供給) UserDialogs.Initを経由して現在のトップの活動を取得するために 工場の機能をアプリケーションまたは提供リフレッシュオプションにプルダウンします。プルダウンするとき、私は同じ関数を呼び出していますが、その呼び出しはコンストラクタからではありません。したがって、UserDialogesとDisplayalertをプルダウンすると動作します。

マイコード:コンストラクタから関数を呼び出すとき

UserDialogs.Instance.ShowLoading("Loading"); 
    await Application.Current.MainPage.DisplayAlert("Alert", "No Internet Connection", "Ok"); 

は、どのように私が最初にuserdialogesとdisplayalertを活性化させることができますか?

答えて

0

コンストラクタ内の関数呼び出しとonappearing()の内部では、viewmodelクラスオブジェクト(viewmodelではなくxaml.csファイルに追加)を使用して同じ関数を呼び出します。

protected override async void OnAppearing() 
     { 
     dbvm.UserList(); //dbvm is viewmodel class object 
     } 
関連する問題