C# Android.Views.InflateException:二进制XML文件行#1:膨胀类BottomNavigationView时出错

C# Android.Views.InflateException:二进制XML文件行#1:膨胀类BottomNavigationView时出错,c#,android,visual-studio,xamarin.android,C#,Android,Visual Studio,Xamarin.android,我正在尝试将工具栏、TabBarLayout和BottomNavigationView添加到我的活动中。 不添加工具栏,一切正常,但添加工具栏后,应用程序崩溃,出现错误: Android.Views.InflateException:二进制XML文件行#1:二进制XML 文件行#1:膨胀类时出错 android.support.design.widget.BottomNavigationView 我用的是线性布局。我尝试过改变布局、权重和主题,以及在stackoverflow或谷歌搜索中找到的所

我正在尝试将工具栏、TabBarLayout和BottomNavigationView添加到我的活动中。 不添加工具栏,一切正常,但添加工具栏后,应用程序崩溃,出现错误:

Android.Views.InflateException:二进制XML文件行#1:二进制XML 文件行#1:膨胀类时出错 android.support.design.widget.BottomNavigationView

我用的是线性布局。我尝试过改变布局、权重和主题,以及在stackoverflow或谷歌搜索中找到的所有其他方法,但都没有找到解决方案。我正在分享我的布局、风格和活动代码

activity_main.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"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="100">

    <include
        android:id="@+id/toolbar"
        layout="@layout/ToolbarLayout" />

    <android.support.design.widget.TabLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:id="@+id/tablayout"
        android:background="@color/white"
        android:minHeight="?attr/actionBarSize"
        app:tabTextColor="@color/black"
        app:tabSelectedTextColor="@color/yellow"
        app:tabIndicatorColor="@color/yellow"
        android:layout_weight="10"/>

    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:id="@+id/pager"
        android:layout_weight="82">
    </android.support.v4.view.ViewPager>

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:background="?android:attr/windowBackground"
        app:menu="@menu/navigation"
        android:layout_weight="8"/>
</LinearLayout>

MainActivity.cs

using Android.App; using Android.OS; using Android.Runtime; using Android.Support.Design.Widget; using Android.Support.V4.View; using Android.Support.V7.App; using Android.Support.V7.Widget; using Android.Views;

namespace utfive {
    [Activity(Label = "@string/app_name", Theme = "@style/AppTheme")]
    public class MainActivity : AppCompatActivity, BottomNavigationView.IOnNavigationItemSelectedListener
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_main);
            SetSupportActionBar(FindViewById<Toolbar>(Resource.Id.toolbar));
            BottomNavigationView navigation = FindViewById<BottomNavigationView>(Resource.Id.navigation);
            navigation.SetOnNavigationItemSelectedListener(this);

            LoadPager();
        }

        private void LoadPager()
        {
            ViewPager viewPager = (ViewPager)FindViewById(Resource.Id.pager);
            PageAdapter myPagerAdapter = new PageAdapter(SupportFragmentManager);
            viewPager.Adapter = myPagerAdapter;
            TabLayout tabLayout = (TabLayout)FindViewById(Resource.Id.tablayout);
            tabLayout.SetupWithViewPager(viewPager);
        }

        public bool OnNavigationItemSelected(IMenuItem item)
        {
            switch (item.ItemId)
            {
                case Resource.Id.navigation_home:
                    //textMessage.SetText(Resource.String.title_home);
                    return true;
                case Resource.Id.navigation_dashboard:
                    //textMessage.SetText(Resource.String.title_dashboard);
                    return true;
                case Resource.Id.navigation_notifications:
                    //textMessage.SetText(Resource.String.title_notifications);
                    return true;
            }
            return false;
        }
    } }
使用Android.App;使用Android.OS;使用Android.Runtime;使用Android.Support.Design.Widget;使用Android.Support.V4.View;使用Android.Support.V7.App;使用Android.Support.V7.Widget;使用Android.Views;
名称空间UT5{
[活动(标签=“@string/app_name”,主题=“@style/AppTheme”)]
公共类MainActivity:AppCompativeActivity,BottomNavigationView.IOnNavigationItemSelectedListener
{
创建时受保护的覆盖无效(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity_main);
SetSupportActionBar(FindViewById(Resource.Id.toolbar));
BottomNavigationView navigation=FindViewById(Resource.Id.navigation);
navigation.SetOnNavigationItemSelectedListener(此);
LoadPager();
}
专用void LoadPager()
{
ViewPager ViewPager=(ViewPager)FindViewById(Resource.Id.pager);
PageAdapter myPagerAdapter=新的PageAdapter(SupportFragmentManager);
viewPager.Adapter=myPagerAdapter;
TabLayout TabLayout=(TabLayout)findviewbyd(Resource.Id.TabLayout);
tabLayout.SetupWithViewPager(viewPager);
}
公共bool OnNavigationItemSelected(IMenuItem)
{
开关(item.ItemId)
{
案例资源.Id.navigation\u主页:
//textMessage.SetText(Resource.String.title\u home);
返回true;
案例资源.Id.navigation\u仪表板:
//textMessage.SetText(Resource.String.title\u仪表板);
返回true;
案例资源.Id.navigation\u通知:
//textMessage.SetText(Resource.String.title\u通知);
返回true;
}
返回false;
}
} }
style.xml

<resources>

  <!-- Base application theme. -->
  <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="colorPrimary">@color/yellow</item>
    <item name="colorPrimaryDark">@color/black</item>
    <item name="colorAccent">@color/white</item>
  </style>

  <style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/yellow</item>
    <item name="colorPrimaryDark">@color/black</item>
    <item name="colorAccent">@color/white</item>
  </style>
</resources>

真的
假的
@颜色/黄色
@颜色/黑色
@颜色/白色
@颜色/黄色
@颜色/黑色
@颜色/白色
ToolbarLayout.axml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?android:attr/actionBarSize"
    android:background="@color/white"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

有人能帮我吗

  • 从include标记中删除id属性:
    android:id=“@+id/toolbar”
    。应该是这样的
    layout="@layout/toolbar_layout" />
    
  • 您的ToolbarLayout文件名错误,应该是这样的:没有大写字母的ToolbarLayout


  • 发帖后,我仍然试图解决这个问题。 我清除了解决方案,然后重新启动了Visual Studio。
    然后我清除了项目并重新启动了Visual Studio,然后它就正常工作了。

    应该有一个关于膨胀的更详细错误。请发布您的依赖项