Xamarin.Forms 应用在 iOS 上运行,在 Android 上抛出错误 ("Object reference not set to an instance of an object")

Xamarin.Forms app works on iOS, throws error on Android ("Object reference not set to an instance of an object")

我是 Xamarin.Forms 的新手。

我有一个在 iOS 上运行良好的应用程序。但是,在 Android 上,它会在一段时间后崩溃,并抛出以下错误:

Unhandled Exception:

System.NullReferenceException: Object reference not set to an instance of an object.

调试说它发生在这段代码上:

private void OnElementToggled(object sender, EventArgs e)
{
    this.Element.IsToggled = this.Control.Checked;
}

此开关可在我们的应用程序内打开或关闭一个选项。切换在 iOS 上工作正常。它也适用于 Android,但如果我在应用程序中导航并切换开关 on/off 几次,我会收到错误消息。我只在 Android 上收到此错误,并且仅在我四处导航后才收到。此外,我在模拟器和设备 (Galaxy S5 Neo) 上的不同时间得到它。在我收到错误之前,模拟器可以 运行 更长时间。

我傻眼了。我该如何解决这个问题?

我搜索并找到 What is a NullReferenceException, and how do I fix it?。该解决方案似乎不适用于我的情况,因为我的代码在 iOS 上运行良好,最初在 Android.

上运行良好

非常感谢您的宝贵时间和帮助。

Try/Catch 是一个基本的 C# 概念,任何入门书籍都会涵盖它

private void OnElementToggled(object sender, EventArgs e)
{
    try {
      this.Element.IsToggled = this.Control.Checked;
    catch (Exception ex) {
      // use logging (ie, appcenter.ms) to log this exception
    }
}