为了账号安全,请及时绑定邮箱和手机立即绑定

以 xamarin 形式导航到下一页

以 xamarin 形式导航到下一页

C#
郎朗坤 2021-11-21 16:32:52
假设我在 Page_1 中,而单击按钮必须导航到 Page_2.In Page_2 Api 调用必须完成。MyIssue 是当我单击按钮时,它不会立即导航到 Page_2,而是等待 API 响应。如何在不等待 API 响应的情况下立即导航到 Page_2。代码:Page_1.cspublic partial class Page_1 : ContentPage{    public Page_1()    {        InitializeComponent();    }    private void Btn_click(object sender, EventArgs e)    {        Navigation.PushAsync(new Page_2());    }}第2页:public Page_2()    {        InitializeComponent();    }    protected override void OnAppearing()    {        HttpClient httpClient = new HttpClient();        var obj = httpClient.GetAsync("//Api//").Result;        if (obj.IsSuccessStatusCode)        {        }    }相同的代码按预期在 iOS 中运行良好
查看完整描述

2 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

您可以在其他任务中加载数据以防止阻塞 UI。


protected override void OnAppearing()

{

    Task.Run( () => LoadData());

    base.OnAppearing();

}


private async void LoadData()

{

    HttpClient httpClient = new HttpClient();

    var obj = await httpClient.GetAsync("//Api//");

    if (obj.IsSuccessStatusCode)

    {

        // If you need to set properties on the view be sure to use MainThread

        // otherwise you won't see it on the view.

        Device.BeginInvokeOnMainThread(() => Name = "your text";);

    }

}


查看完整回答
反对 回复 2021-11-21
?
Helenr

TA贡献1780条经验 获得超4个赞

根据您的问题,您在 Page 构造函数上调用 API,这就是为什么加载 Web API 然后在 page2 上导航需要时间。如果您想在加载 api 之前在 page2 上导航。检查下面的代码


    public partial class Page2 : ContentPage

        {


            bool IsLoading{ get; set; }

            public Page2()

            {

                InitializeComponent();

                  IsLoading = false;

          }

             protected async override void OnAppearing()

            {

                base.OnAppearing();

                if (!IsLoading)

                {

                  IsLoading=true

                  **Call the Web API Method Here**

                }

                IsLoading=false

            }



         }


查看完整回答
反对 回复 2021-11-21
  • 2 回答
  • 0 关注
  • 217 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信