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

Posted

技术标签:

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

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

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

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 为空。

【问题讨论】:

实际上,我是 Xamarin 的新手,我不知道自己做错了什么,所以我需要帮助来弄清楚我做了什么,所以出现了这个错误...... ***.com/questions/24621814/… 或 forums.xamarin.com/discussion/18590/… 或 ***.com/questions/48070606/… 有帮助吗? 它没有...在发布之前已经访问了这些链接:/ 实际上,我正在关注这个 youtube.com/watch?v=UBqdI77_p-M 教程,对他来说工作得很好,而我的没有 【参考方案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,完美运行!谢谢哈哈(耐心)

以上是关于Android 全球不支持 PushAsync,请使用 NavigationPage的主要内容,如果未能解决你的问题,请参考以下文章

iOS 全球不支持 PushAsync,请使用 NavigationPage

使用 NavigationPage 时获取“iOS 上不支持全球范围内的 PushAsync ...”

System.InvalidOperationException:PushAsync 在 Android 上不受全球支持

xamarin 表单中全局不支持 pushasync 的解决方案是啥?

Android 全球不支持推送异步,请使用 NavigationPage

不支持 Xamarin PushAsync 方法