2017-12-18 153 views
0

在我的viewmdodel類中,我從構造函數調用一個函數。在該函數內部,我使用了Userdialoges和displayalert屬性。但兩者都沒有在用戶界面中顯示。兩者都得到例外。Displayalert和userdialoges不顯示在用戶界面(Viewmodel)

Displayalert例外:

異常:> System.NullReferenceException:對象未設置爲 一個對象的一個​​實例。

UserDialogs例外:

異常:> System.ArgumentException:在Android中,你必須從你的第一個活動或 UserDialogs.Init(應用程序)從您的自定義調用 UserDialogs.Init(活動)應用程序或提供 工廠功能經由 UserDialogs.Init(()=>供給頂活性)

我也個實施來獲得當前的頂部活動e拉下來刷新選項。當我拉下來時,我調用了相同的函數,但該調用不是來自構造函數。所以當下拉UserDialoges和Displayalert正在工作。

我的代碼:

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

所以,我怎麼能激活userdialoges和displayalert最初從調用構造函數時?

回答

0

通過評論解決的構造和onappearing()內的函數調用,使用視圖模型類對象調用相同的功能(在xaml.cs添加的文件不在視圖模型)。

protected override async void OnAppearing() 
     { 
     dbvm.UserList(); //dbvm is viewmodel class object 
     }