【问题标题】:Emulator show empty white screen problem on Xamarin Forms模拟器在 Xamarin Forms 上显示空白屏幕问题
【发布时间】:2020-11-15 09:58:26
【问题描述】:

我正在测试我用 android 模拟器所做的事情,它总是运行良好,但昨天它突然将我的应用程序显示为一个白色的空白屏幕。我不知道为什么。 这是我的 MainActivity 类

    using System;

using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Xamarin.Forms;

namespace HealthCareApp.Droid
{
    [Activity(Label = "HealthCareApp", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize )]
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;
            
            base.OnCreate(savedInstanceState);
            Forms.SetFlags("Brush_Experimental");
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
            LoadApplication(new Xamarin.Forms.Application());
        }
        public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
        {
            Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
            
            base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
        }
    }
}

App.xaml.cs(现在它给出一个错误:“initializecomponent is inaccessible due to its protection level”)

    using System;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace HealthCareApp
{
    public partial class App : Application
    {
        public App()
        {
            InitializeComponent();
            MainPage = new NavigationPage(new LoginPage());
        }

        protected override void OnStart()
        {
        }

        protected override void OnSleep()
        {
        }

        protected override void OnResume()
        {
        }
    }
}

【问题讨论】:

  • LoadApplication 你应该加载你的应用程序。
  • @Cheesebaron 有错吗?您对解决方案有任何想法吗?
  • @burakzbc 嗨,你的意思是它以前有效吗?如果项目太旧,您可以将 nuget 包的版本更新到最新进行检查。

标签: xaml xamarin xamarin.forms xamarin.android mono


【解决方案1】:

您的项目中应该有一个App 类,其中包含首先显示哪个表单页面的信息,以及在 IoC 容器中设置服务等内容等信息。

而不是调用

LoadApplication(new Xamarin.Forms.Application());

你应该打电话给:

LoadApplication(new App());

【讨论】:

  • 现在它发送一个错误“initializecomponent is inaccessible due to its protection level”。我在上面的问题中添加了 app.xaml.cs。我的最后期限几乎在几个小时内就到了,所以我很难过。如果我让你忙,对不起:(
  • 是编译错误吗?能否请您发布完整的错误消息?
  • 是的,这是编译错误,完全错误只是这个“initializecomponent is inaccessible due to its protection level”
猜你喜欢
  • 2014-06-23
  • 1970-01-01
  • 2017-04-19
  • 2019-08-21
  • 1970-01-01
  • 1970-01-01
  • 2012-04-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多