【发布时间】:2014-06-15 01:28:18
【问题描述】:
最近我决定尝试Xamarin Forms,所以我开始将我的 Windows Phone / Android Xamarin 项目迁移到新的“表单”格式。
迁移两个简单屏幕(视图)后,代码在我的 Windows Phone 上运行良好,但在 Android 平台上崩溃。我正在使用两台设备来测试代码,没有模拟器来避免不必要的麻烦。
在android平台上引发的异常是:System.Exception: Android only allows one navigation page on screen at a time。
这个问题与“View”类本身无关,因为一旦我将它设置为 Android 的“开始屏幕”,它就不会发生。
恐怕问题与我通过 Xamarin 提供的“Navigation.PushAsync(...)”方法“推送”两个屏幕有关。
关于如何实际修复它的任何想法?
编辑:
概述:“MainView.cs”只是一个内容页面,顶部有一个标签,后面跟着两个垂直对齐的按钮。
如何重现异常:单击主视图上的“获取所有用户”按钮。我已经修改了代码以在单击按钮后推送相同的视图,而不是推送另一个视图(具有用户列表视图的视图,我没有包括在内,只是为了简单起见)。单击按钮后,它将通过调用“Navigation.PushAsync(...)”导航到“MainView”的新实例。这将在屏幕加载后触发异常。
【问题讨论】:
-
请贴出导致异常的代码。
-
添加了一个代码示例,其中包含对异常以及如何重现它的一些小的概述。如果您还需要什么,请告诉我。
-
请内嵌代码,格式正确,而不是使用外部链接。
标签: c# xamarin xamarin.android