![](/img/trans.png)
[英]Can I have only one Xamarin Content Page with no full screen in Android?
[英]Xamarin Forms Android System Exception “Android only allows one navigation page on screen at a time”
最近,我决定尝试一下Xamarin Forms ,因此我开始将Windows Phone / Android Xamarin项目迁移到新的“ Forms”格式。
迁移两个简单的屏幕(视图)后,代码在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”的新实例。 加载屏幕后,这将触发异常。
您正在嵌套导航页面。 这不是必需的。 尝试以下方法:
public class ViewsHandler
{
public static Page GetMainPage()
{
return new MainView();
}
public static Page GetUsersListPage()
{
return new UsersListView ();
}
}
public class MainActivity : AndroidActivity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Initializing Xamarin Form
Xamarin.Forms.Forms.Init (this, bundle);
// create a single NavigationPage wrapping your content
SetPage (new NavigationPage(ViewsHandler.GetMainPage()));
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.