Android only allows one navigation page on screen

2020-03-15 01:14发布

what is the difference between 2 implementations below?

 public App()
    {
        // The root page of your application
        MainPage = new Views.MainPage();
    }   
 public App()
    {     
        MainPage = new NavigationPage(new MainPage());
    }

if my main page inherits MasterDetailPage, 1st code above will work but 2nd one will return error message telling me that "android only allows one navigation page on screen at a time" when I debug my android app.

  public class MainPage : MasterDetailPage
    {

        MasterPage masterPage;
        public MainPage()
        {
            masterPage = new MasterPage();
            Master = masterPage;
            Detail = new NavigationPage(new AnotherPage());

1条回答
【Aperson】
2楼-- · 2020-03-15 01:54

I might be a bit confused by what you are asking but if you are doing

MainPage = new NavigationPage(new MainPage());

And your MainPage is

public class MainPage : MasterDetailPage
{

    MasterPage masterPage;
    public MainPage()
    {
        masterPage = new MasterPage();
        Master = masterPage;
        Detail = new NavigationPage(new AnotherPage());

Then you are doing

NavigationPage > MasterDetailPage > NavigationPage

Either MasterDetail or Navigation should be the root and not have them inside each other. You can't have 2 navigation pages within each other.

查看更多
登录 后发表回答