我是 android 应用程序开发的新手,我正在尝试向我的应用程序添加导航,但是我在 SetContentView(Resource.Layout.activity_working); 中的 WorkingActivity.cs 上收到此错误:

Android.Views.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class android.support.v7.widget.DrawerLayout

这些是我的文件:

activity_working.axml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
  <android.support.v7.widget.DrawerLayout xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/drawer_layout"
     android:layout_height="match_parent"
     android:layout_width="fill_parent"
     android:fitsSystemWindows="true">
         <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
          <include layout="@layout/toolbar" />
  </LinearLayout>

  <android.support.design.widget.NavigationView
     android:id="@+id/nav_view"
     android:layout_height="match_parent"
     android:layout_width="300dp"
     android:layout_gravity="start"
     android:fitsSystemWindows="true"
     app:headerLayout="@layout/nav_header" />
  </android.support.v7.widget.DrawerLayout>



WorkingActivity.cs
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Support.Design.Widget;
using Android.Support.V4.Widget;
using Android.Support.V7.App;
using Android.Support.V7.Widget;
using Android.Views;
using Android.Widget;

namespace App2
{
    [Activity(Label = "WorkingActivity", Theme = "@style/AppTheme")]
    public class WorkingActivity : AppCompatActivity
    {
        DrawerLayout drawerLayout;
        NavigationView navigationView;

        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.activity_working);
        }

    }
}

toolbar.axml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      android:id="@+id/main_content"
      android:layout_width="match_parent"
      android:layout_height="match_parent">

  <android.support.design.widget.AppBarLayout
     android:id="@+id/appbar"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

  <android.support.v7.widget.Toolbar
     android:id="@+id/toolbar"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:elevation="4dp"
     android:background="?attr/colorPrimary" />

  </android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>

nav_header.axml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:layout_width="match_parent"
   android:layout_height="210dp"
   android:background="#0099ff"
   android:padding="16dp"
   android:orientation="vertical"
   android:gravity="bottom">
   <TextView
      android:text="User Name"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:id="@+id/navheader_username"
      android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
</LinearLayout>

menu.xml:
<?xml version="1.0" encoding="utf-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

   <item android:id="@+id/nav_main"
    android:title="Home"></item>

   <item android:id="@+id/nav_message"
    android:title="Message"></item>

   <item android:id="@+id/nav_about"
    android:title="About"></item>

   <item android:id="@+id/nav_feedback"
    android:title="Feedback"></item>

</menu>

样式.xml:
<resources>

<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>

颜色.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#2c3e50</color>
    <color name="colorPrimaryDark">#1B3147</color>
    <color name="colorAccent">#3498db</color>
</resources>

有什么问题?

在我添加导航文件之前,一切都很好。

最佳答案

这可能是由于依赖问题。

试试这个。但首先要为您的解决方案创建一个备份。

  • 在解决方案资源管理器中选择解决方案。
  • 单击工具菜单 > Nuget 包管理器 > 管理解决方案的 Nuget 包
  • 在“已安装”中找到项目:Xamarin Forms
  • 查看右侧 Pane 然后检查解决方案的所有项目,然后单击卸载按钮
  • 重启 Visual Studio
  • 重新安装 Xamarin Forms
  • 右键单击​​解决方案,然后选择 Clean Solution
  • 重新编译应用程序。

  • 希望这有效。

    10-08 17:57