【问题标题】:PushAsync is not supported globally on Android, please use a NavigationPageAndroid 全球不支持 PushAsync,请使用 NavigationPage
【发布时间】:2018-11-18 23:50:12
【问题描述】:

我正在将主详细信息页面作为菜单进行,但出现此错误:

Android 全球不支持 PushAsync,请使用 NavigationPage。

当我尝试实例化另一个页面时。我相信我的代码在实例化页面时已经创建了一个导航页面,但我不确定。有人可以帮我吗?

App.xaml.cs:

public partial class App : Application
{
    static public MasterDetailPage MasterDetail { get; set; }

    public async static Task NavigateMasterDetail(Page page)
    {
        App.MasterDetail.IsPresented = false;
        await App.MasterDetail.Navigation.PushAsync(page);
    }


    public App ()
    {
        InitializeComponent();

        MainPage = new selectPage();
    }

携带菜单的页面,selectPage:

public partial class selectPage : MasterDetailPage
{
    public selectPage()
    {
        InitializeComponent();

        this.Master = new Master();
        this.Detail = new NavigationPage(new Detail());

        App.MasterDetail = this;
    }
}

Master.xaml.cs:

public Master ()
{
    InitializeComponent ();

    toDivPage.Clicked += async (sender, e) =>
    {
        await App.NavigateMasterDetail(new MainPage());
    };

    toBiqPage.Clicked += async (sender, e) =>
    {
        await App.NavigateMasterDetail(new MainPage());
    };
}

Detail.xaml.cs 为空。

【问题讨论】:

标签: c# android xamarin xamarin.forms


【解决方案1】:

我相信你必须在你的App.xaml.cs 中使用NavigationPage。 在您的 App.xaml.cs 中,确保您的构造函数或 App 方法看起来像这样

public App ()
    {
        InitializeComponent();
        MainPage = new NavigationPage(new selectPage());
    }

希望对你有帮助

【讨论】:

  • 我尝试这样做,但它只是添加了一个蓝色条并且错误仍然存​​在...i.imgur.com/krH2D2a.jpg(当我打开菜单并单击应该调用另一个的按钮时发生错误页)
  • 由于您的App.xaml.cs 中有 NavigationPage,因此您可以在应用程序中使用Navigation.PushAsync(new Page()); 进行其他导航
  • 我很抱歉,但具体如何实现呢?像这样? i.imgur.com/B2BYd4L.png(对不起,我真的是菜鸟xD)
  • 是的。这是否为您解决了问题?
  • Yaaaaay,完美运行!谢谢哈哈(耐心)
猜你喜欢
  • 2020-05-21
  • 2014-08-28
  • 2017-12-19
  • 2020-05-04
  • 2018-01-13
  • 2019-08-14
  • 2017-08-26
  • 1970-01-01
  • 2018-06-12
相关资源
最近更新 更多