Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在xamarin窗体中导航时活动指示器卡住_Xamarin_Navigation_Xamarin.android_Xamarin.forms_Activity Indicator - Fatal编程技术网

在xamarin窗体中导航时活动指示器卡住

在xamarin窗体中导航时活动指示器卡住,xamarin,navigation,xamarin.android,xamarin.forms,activity-indicator,Xamarin,Navigation,Xamarin.android,Xamarin.forms,Activity Indicator,Im使用xamarin forms 2.3.4.247共享项目。在我的登录页面中,我将我的页面导航到另一个页面。当此页面呈现im时,在主页面中显示活动指示器。但不幸的是,活动指示器失灵,几秒钟后第二页加载。我尝试了下面的代码,但什么也没有得到。所有这些代码都运行在一个异步命令中。我正在android平台上的实际设备上测试我的应用程序 一, 二, 三, 这个问题是因为您的活动指示器位于旧页面的UI中,而不是新页面上,因此当您进行推送时,旧页面不再显示。 为了得到你想要的结果,你可以使用这个插件在转

I
m使用xamarin forms 2.3.4.247共享项目。在我的登录页面中,我将我的页面导航到另一个页面。当此页面呈现i
m时,在主页面中显示活动指示器。但不幸的是,活动指示器失灵,几秒钟后第二页加载。我尝试了下面的代码,但什么也没有得到。所有这些代码都运行在一个异步命令中。我正在android平台上的实际设备上测试我的应用程序

一,

二,

三,


这个问题是因为您的活动指示器位于旧页面的UI中,而不是新页面上,因此当您进行推送时,旧页面不再显示。 为了得到你想要的结果,你可以使用这个插件在转换过程中保持加载

这个问题是因为您的活动指示器位于旧页面的UI中,而不是新页面上,因此当您进行推送时,旧页面不再显示。 为了得到你想要的结果,你可以使用这个插件在转换过程中保持加载

我终于能够纠正这个问题。
您可以在Task.Run()方法中执行所有异步作业,以便在新线程中而不是在UI线程中运行所有异步作业。我终于能够解决这个问题。 您可以在Task.Run()方法中执行所有异步作业,以便在新线程中而不是在UI线程中运行所有异步作业

activityIndicator.IsRunnig=true;
    new System.Threading.Thread(new System.Threading.ThreadStart(() =>
                        {
                            Navigation.PushAsync(new DeviceLoginView());
                        })).Start();
activityIndicator.IsRunnig=true;
Device.BeginInvokeOnMainThread(async () =>
                {
                    await Navigation.PushAsync(new DeviceLoginView());
                });
 activityIndicator.IsRunnig=true;
 await Navigation.PushAsync(new DeviceLoginView());