我已经尝试了几个小时在 Visual Studio 中运行我的 Xamarin 应用程序,但它只显示初始屏幕然后停止!
System.InvalidCastException:“无法将类型‘AndroidX.CoordinatorLayout.Widget.CoordinatorLayout’的实例转换为类型‘AndroidX.AppCompat.Widget.Toolbar’。”
在此之前,我实际上删除了设计文件,现在由于新定义的工具栏(我不再需要它)而尝试创建一个新文件。我尝试了大部分解决方案 here 但我不知道为什么他们不和我一起工作。
这是MainActivity.cs
using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.OS;
using Android.Support.V7.Widget;
namespace FinalApp.Droid
{
[Activity(Label = "FinalApp", Icon = "@mipmap/icon", Theme = "@style/MainTheme", 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)
{
//var toolbar = FindViewById<Toolbar>(Resource.Id.toolbar);
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
LoadApplication(new App());
}
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);
}
}
}
这是toolbar.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar" />
我希望应用程序能够正常运行,但只显示启动画面,然后应用程序中断。