J'ai créé une simple application Xamarin Forms avec MvvmCross pour essayer de comprendre une erreur que j'ai sur un autre projet. Cette application simple est disponible ici: https://github.com/selaromdotnet/XamFormsAppTestMvvmCross et Xamarin Forms, l'application Android se bloque avec une erreur de référence nulle lors de l'obtention de la couleur d'accent
Il a une seule page avec un élément de barre d'outils qui a une icône dessus.
Si vous regardez l'historique des validations, ce projet se charge très bien et l'icône le fait également.
Mais dans le plus récent commit, j'ai suivi ce guide ici (https://blog.xamarin.com/material-design-for-your-xamarin-forms-android-apps/) et ce post ici (Xamarin.Forms null reference exception when applying Material Theme) pour mettre à jour le projet pour utiliser MvvmCross avec la conception matérielle.
maintenant sur l'application Android, la méthode OnCreate pour le MvxFormsAppCompatActivity il se bloque avec cette erreur:
System.NullReferenceException: Object reference not set to an instance of an object.
at Xamarin.Forms.Forms.GetAccentColor() [0x00006] inC:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Forms.cs:159
at Xamarin.Forms.Forms.SetupInit (Android.Content.Context activity, System.Reflection.Assembly resourceAssembly) [0x0000c] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Forms.cs:118
at Xamarin.Forms.Forms.Init (Android.Content.Context activity, Android.OS.Bundle bundle) [0x00006] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Forms.cs:72
at MvvmCross.Forms.Droid.MvxFormsAndroidSetup.CreateViewPresenter() [0x00000] in C:\projects\mvvmcross\MvvmCross-Forms\MvvmCross.Forms.Droid\MvxFormsAndroidSetup.cs:55
at MvvmCross.Droid.Platform.MvxAndroidSetup.CreateViewDispatcher() [0x00000] in C:\projects\mvvmcross\MvvmCross\Droid\Droid\Platform\MvxAndroidSetup.cs:124
at MvvmCross.Core.Platform.MvxSetup.InitializeViewDispatcher() [0x00000] in C:\projects\mvvmcross\MvvmCross\Core\Core\Platform\MvxSetup.cs:260
at MvvmCross.Core.Platform.MvxSetup.InitializeSecondary() [0x000f8] in C:\projects\mvvmcross\MvvmCross\Core\Core\Platform\MvxSetup.cs:91
at MvvmCross.Core.Platform.MvxSetup.Initialize() [0x00006] in C:\projects\mvvmcross\MvvmCross\Core\Core\Platform\MvxSetup.cs:37
at MvvmCross.Droid.Platform.MvxAndroidSetupSingleton.EnsureInitialized() [0x0004e] in C:\projects\mvvmcross\MvvmCross\Droid\Droid\Platform\MvxAndroidSetupSingleton.cs:45
at MvvmCross.Forms.Droid.MvxFormsAppCompatActivity.OnCreate (Android.OS.Bundle bundle) [0x00013] in C:\projects\mvvmcross\MvvmCross-Forms\MvvmCross.Forms.Droid\MvxFormsAppCompatActivity.cs:64
at XamFormsAppTest.Droid.MainActivity.OnCreate (Android.OS.Bundle bundle) [0x00017] in D:\VisualStudio\OSS\XamFormsAppTest\XamFormsAppTest\XamFormsAppTest.Android\MainActivity.cs:21
at Android.Support.V4.App.FragmentActivity.n_OnCreate_Landroid_os_Bundle_(System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_savedInstanceState) [0x0000f] in 8b5e0f4c6f594871ab0afcbcb2317289>:0
at (wrapper dynamic-method) System.Object:6ce77b2f-ee95-4ad0-bd89-6baa2e4d7b05> (intptr,intptr,intptr)
Je devine que ce n'est pas trouver la couleur correctement dans les ressources, mais je suis à une perte pour savoir comment pour résoudre ce problème. J'ai essayé de changer le nom de fichier en color.xml et essayé de définir l'accentColor comme une couleur au lieu d'une référence à @ couleur/accent ...
Je suis vraiment coincé ici et je ne sais pas comment résoudre ce problème. Quelqu'un peut-il me dire ce que je fais mal avec mon projet?
@SelAromDotNet, avez-vous résolu ce problème? –