在我的viewmdodel类中,我从构造函数调用一个函数。在该函数内部,我使用Userdialoges和displayalert属性。但两者都没有在UI中显示。获得两者的例外。
Displayalert异常:
异常:> System.NullReferenceException:未将对象引用设置为 一个对象的实例。
UserDialogs异常:
异常:> System.ArgumentException:在android中,你必须调用 来自您的第一个活动OR的UserDialogs.Init(Activity) UserDialogs.Init(App)来自您的自定义应用程序或提供 工厂功能通过获得当前的顶级活动 UserDialogs.Init(()=>提供顶级活动)
我还实现了下拉刷新选项。下拉时我调用相同的函数,但该调用不是来自构造函数。因此,当下拉UserDialoges和Displayalert正在工作时。
我的代码:
UserDialogs.Instance.ShowLoading("Loading");
await Application.Current.MainPage.DisplayAlert("Alert", "No Internet Connection", "Ok");
那么如何在构造函数中调用函数时最初激活userdialoges和displayalert?
答案 0 :(得分:1)
通过在构造函数和onappearing()内部注释函数调用解决,使用viewmodel类对象调用相同的函数(在xaml.cs文件中添加不在viewmodel中)。
protected override async void OnAppearing()
{
dbvm.UserList(); //dbvm is viewmodel class object
}