I stripped down my application as much as possible to find this problem. Still it appears:
我尽可能地删除了我的应用程序以找到这个问题。它仍然出现:
11-12 15:56:27.908 I/MonoDroid(17629): System.NullReferenceException: Object reference not set to an instance of an object.
11-12 15:56:27.908 I/MonoDroid(17629): at Xamarin.Forms.Platform.Android.AppCompat.Platform.LayoutRootPage (Xamarin.Forms.Page page, System.Int32 width, System.Int32 height) [0x0005d] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\AppCompat\Platform.cs:279
11-12 15:56:27.908 I/MonoDroid(17629): at Xamarin.Forms.Platform.Android.AppCompat.Platform.Xamarin.Forms.Platform.Android.IPlatformLayout.OnLayout (System.Boolean changed, System.Int32 l, System.Int32 t, System.Int32 r, System.Int32 b) [0x00003] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\AppCompat\Platform.cs:196
11-12 15:56:27.908 I/MonoDroid(17629): at Xamarin.Forms.Platform.Android.PlatformRenderer.OnLayout (System.Boolean changed, System.Int32 l, System.Int32 t, System.Int32 r, System.Int32 b) [0x0000e] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\PlatformRenderer.cs:73
11-12 15:56:27.908 I/MonoDroid(17629): at Android.Views.ViewGroup.n_OnLayout_ZIIII (System.IntPtr jnienv, System.IntPtr native__this, System.Boolean changed, System.Int32 l, System.Int32 t, System.Int32 r, System.Int32 b) [0x00009] in /Users/builder/data/lanes/3511/ce955cc0/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Views.ViewGroup.cs:3427
11-12 15:56:27.908 I/MonoDroid(17629): at (wrapper dynamic-method) System.Object:784a0fc1-dc7c-42ec-831f-0701fd382e8e (intptr,intptr,bool,int,int,int,int)
11-12 15:56:27.925 W/art (17629): JNI RegisterNativeMethods: attempt to register 0 native methods for android.runtime.JavaProxyThrowable
This is my Android Activity
这是我的Android活动
[Activity(Label = "Bol",Icon = "@drawable/icon",MainLauncher = true,Theme = "@style/MyTheme.Splash", NoHistory = true)]
public class MainActivity : FormsAppCompatActivity
For the splashscreen, I have the following values/styles.xml
对于splashscreen,我有以下值/ styles.xml
<resources>
<style name="MyTheme.Splash" parent ="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/splash_screen</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:actionBarSize">0dp</item>
</style>
</resources>
And the drawable/splash_screen.xml
和drawable / splash_screen.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<color android:color="#000000"/>
</item>
<item>
<bitmap
android:src="@drawable/icon"
android:tileMode="disabled"
android:gravity="center"/>
</item>
</layer-list>
And the Xamarin (Prism) Application
和Xamarin(Prism)应用程序
public class App : PrismApplication
{
public App(IPlatformInitializer initializer = null) : base(initializer) { }
protected override void OnInitialized()
{
Logger = Container.Resolve(typeof(ILogger), null, new CompositeResolverOverride()) as ILoggerFacade;
var navigationPage = "NavigationPage/MainMenu";
NavigationService.NavigateAsync(navigationPage);
}
}
The MainMenu is just an empty ContentPage.
MainMenu只是一个空的ContentPage。
I don't see any hint about what leeds to the NullReference during Xamarin.Forms.Platform.Android.AppCompat.Platform.LayoutRootPage
在Xamarin.Forms.Platform.Android.AppCompat.Platform.LayoutRootPage期间,我没有看到任何关于利用NullReference的提示的提示
1 个解决方案
#1
0
Mark OnInitialized as async and await NavigationService.NavigateAsync(navigationPage);
. That should solve your problem.
将OnInitialized标记为异步并等待NavigationService.NavigateAsync(navigationPage);.这应该可以解决你的问题。
#1
0
Mark OnInitialized as async and await NavigationService.NavigateAsync(navigationPage);
. That should solve your problem.
将OnInitialized标记为异步并等待NavigationService.NavigateAsync(navigationPage);.这应该可以解决你的问题。