Ich verwende VS2015 mit Xamarin, um ein Multi-Plattform-Projekt zu erstellen, das einen Splashscreen anzeigen und dann eine Webseite in eine Webansicht laden kann. Hier ist meine Projektstruktur. Ich bin mit einem PCL-Projekt geben, wie unten:Xamarin Forms MainActivity OnCreate LoadApplication System.NullReferenceException: Objektreferenz nicht auf eine Instanz eines Objekts eingestellt
TheApp (Portable)
-WebPageHoster.Xaml //Contains a WebView control
-WebPageHoster.Xaml.cs //sets the WebView controls source property to load a webpage
-App.Xaml
-App.Xaml.cs
TheApp.Droid
/Resources/drawable/splashlogo.png
/Resources/drawable/icon3.png
/Resources/values/Styles.xml
-MainActivity.cs
-SplashActivity.cs
TheApp.iOS
TheApp.WindowsPhone (Windows Phone 8,1)
Dies ist der Code in den Styles.xml
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="Theme.Splash" parent="android:Theme">
<item name="android:windowBackground">@drawable/splashlogo</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>
SplashActivity.cs
[Activity(MainLauncher = true, NoHistory = true, Theme = "@style/Theme.Splash", Icon = "@drawable/icon3")]
public class SplashActivity : AppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
var intent = new Intent(this, typeof(MainActivity));
StartActivity(intent);
Finish();
}
}
MainActivity.cs
[Activity(Label = "Splash App", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App()); // << Problem here
}
Der LoadApplication
Methodenaufruf in der OnCreate
oben beschriebenen Methode lädt die app Konstruktor der App.xaml.cs Klasse, die den folgenden Code läuft
public App() { InitializeComponent(); MainPage = new NavigationPage (neuer WebPageHoster() {Title = "Web-Seite laden"}); }
Dies zeigt den Begrüßungsbildschirm und URL der WebView ist erreicht zurück in der OnCreate Methode nach der Einstellung und gibt diesem Fehler
System.NullReferenceException: Object reference not set to an instance of an object
Ich bin nicht in der Lage zu finden, was diesen Fehler verursacht. Hier ist die Android Manifest-Datei.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="TheApp.TheApp" android:installLocation="auto" android:versionCode="1">
<uses-sdk android:minSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<application android:icon="@drawable/icon3" android:theme="@style/Theme.AppCompat" android:label="Splash Web Host"></application>
</manifest>
teilen sich die Quelle bitte. Sie sollten nicht zu viel Code in die Frage einfügen. – jzeferino
von FormsApplicationActivity zu FormsAppCompatActivity geändert und ein neues Problem bekommen. Code auf Dropbox https://www.dropbox.com/s/p2snfvsyhhwopgn/STM-full.zip hochgeladen?dl = 0 – user20358