【发布时间】:2019-06-24 01:09:55
【问题描述】:
我正在使用 xamarin.forms 开发移动应用程序,但是我的 Android 应用程序根本没有启动,它出现错误:Android.Views.InflateException: ,当它调用 base.OnCreate(bundle );在 MainActivity 中
我的 Android MainActivity 文件:
using Android.App;
using Android.Content;
using Android.Content.PM;
using Android.OS;
using Auth0.OidcClient;
namespace MyApp.Droid
{
[Activity(
Theme = "@style/Theme.Splash",
MainLauncher = true,
NoHistory = true,
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class SplashActivity : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
System.Threading.Thread.Sleep(3000); //Let's wait awhile...
StartActivity(typeof(MainActivity));
}
}
[Activity(
Label = "MyApp",
Icon = "@drawable/icon",
Theme = "@style/MyTheme",
MainLauncher = true,
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
[IntentFilter(
new[] { Intent.ActionView },
Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable },
DataScheme = "....",
DataHost = "....",
DataPathPrefix = "....")]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App());
}
protected override void OnNewIntent(Intent intent)
{
base.OnNewIntent(intent);
ActivityMediator.Instance.Send(intent.DataString);
}
}
}
我的 AndroidManifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="3.0.0" package="...." android:installLocation="auto">
<uses-sdk android:minSdkVersion="23" android:targetSdkVersion="27" />
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.DELETE_PACKAGES" />
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:label="MyApp" android:icon="@drawable/name">
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
</application>
</manifest>
我的styles.xml 文件:
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<color name="actionBarBackgroundColor">#95C11F</color>
<color name="actionBarTextColor">#FFFFFF</color>
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
</style>
<style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
<item name="android:background">@color/actionBarBackgroundColor</item>
</style>
<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@color/actionBarTextColor</item>
</style>
<style name="BaseTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:colorControlNormal">@color/actionBarTextColor</item>
//the rest of your codes...
</style>
<style name="Theme.Splash"
parent="android:Theme">
<item name="android:windowBackground">
@drawable/Logo_SplashScreen
</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowIsFloating">false</item>
<item name="android:backgroundDimEnabled">true</item>
</style>
</resources>
有谁知道为什么我不断收到这个错误?
【问题讨论】:
-
检查你的 app.xaml.cs 的构造函数,看看它在哪里抛出!
-
不理解
StartActivity(typeof(MainActivity));中的OnCreate方法。您可以删除它并重新构建,或者很高兴上传您的项目。 -
我试图在我的 app.xaml.cs 中放置一个断点,但它从来没有达到那么远
-
StartActivity(typeof(MainActivity));这是从我们的旧版应用程序中复制的,但我之前曾尝试将其删除,这不是问题的原因
标签: android .net xamarin xamarin.forms