首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin中的错误膨胀类android.support.design.widget.Coordinator

Xamarin中的错误膨胀类android.support.design.widget.Coordinator
EN

Stack Overflow用户
提问于 2019-09-22 16:03:24
回答 1查看 750关注 0票数 0

我收到一条错误消息,上面写着:

Android.Views.InflateException:‘二进制XML文件行#1:二进制XML文件行#2:错误充气类android.support.design.widget.Coordinator’

调试器在SetContentView(Resource.Layout.activity_main);上运行和中断。我目前正在使用VisualStudio16.3.0预览3,因为我对当前的版本有问题,在这个预览版中有Xamarin android错误修复。

当我从<include layout="@layout/include_main"/>中删除activity_main.axml时,我会得到一个错误:

System.NullReferenceException:“对象引用未设置为对象的实例。”

SupportActionBar.Title = ""; in MainActivity.cs。

MainActivity.cs

代码语言:javascript
复制
using Android.App;
using Android.OS;
using Android.Support.V7.App;
using Android.Runtime;
using Android.Widget;
using System;
using Firebase.Database;
using Firebase;
using Android.Views;

namespace PaleteroGo
{
    [Activity(Label = "@string/app_name", Theme = "@style/PaleteroTheme", MainLauncher = false)]
    public class MainActivity : AppCompatActivity
    {
        FirebaseDatabase database;
        Android.Support.V7.Widget.Toolbar mainToolbar;
        Android.Support.V4.Widget.DrawerLayout drawerLayout;

        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_main); //debugger breaks here
            ConnectControl();
        }

        void ConnectControl()
        {
            drawerLayout = (Android.Support.V4.Widget.DrawerLayout)FindViewById(Resource.Id.drawerLayout);
            mainToolbar = (Android.Support.V7.Widget.Toolbar)FindViewById(Resource.Id.mainToolbar);
            SetSupportActionBar(mainToolbar);
            SupportActionBar.Title = ""; //then breaks here
            Android.Support.V7.App.ActionBar actionBar = SupportActionBar;
            actionBar.SetHomeAsUpIndicator(Resource.Mipmap.ic_help_action);
            actionBar.SetDisplayHomeAsUpEnabled(true);
        }

        public override bool OnOptionsItemSelected(IMenuItem item)
        {
            switch (item.ItemId)
            {
                case Android.Resource.Id.Home:
                    drawerLayout.OpenDrawer((int)GravityFlags.Left);
                    return true;
                default:
                    return base.OnOptionsItemSelected(item);

            }
        }

        void Initializedatabase()
        {
            ...
        }

    }
}

activity_main.axml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 
    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:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/drawerLayout"
    android:fitsSystemWindows="true"
    >

    <LinearLayout
        android:orientation="vertical"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        >

        <include
        layout="@layout/include_main"

        />

        </LinearLayout>

    <android.support.design.widget.NavigationView
        android:id="@+id/navView"
        android:layout_height="match_parent"
        android:layout_width="300dp"
        android:background="@color/paleteroWhite"
        android:layout_gravity="start"
        app:headerLayout="@layout/headerlayout"
        app:menu="@menu/navmenu"
        />

</android.support.v4.widget.DrawerLayout>

include_main.xml

代码语言:javascript
复制
<android.support.design.widget.Coordinator 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rootView"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:background="@color/paleteroAsh"
        >   

        <android.support.v7.widget.Toolbar
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:minHeight="?android:attr/actionBarSize"
            android:id="@+id/mainToolbar"
        />

        </FrameLayout>

</android.support.design.widget.Coordinator>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-23 01:57:58

试着像这样改变:

代码语言:javascript
复制
<?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:orientation="vertical"
   android:layout_width="match_parent"
   android:layout_height="match_parent">
  <android.support.v7.widget.Toolbar
       android:minWidth="25dp"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:minHeight="?attr/actionBarSize"
       android:id="@+id/mainToolbar" />
  <android.support.v4.widget.DrawerLayout
       android:id="@+id/drawerLayout"
       android:layout_width="match_parent"
       android:layout_height="match_parent">
    <include
       layout="@layout/include_main"
       android:layout_width="match_parent"
       android:layout_height="match_parent" />

   <android.support.design.widget.NavigationView
       android:id="@+id/nav_view"
       android:layout_width="wrap_content"
       android:layout_height="match_parent"
       android:layout_gravity="start"
       app:headerLayout="@layout/headerlayout"
       app:menu="@menu/navmenu"
    />

   </android.support.v4.widget.DrawerLayout>
</LinearLayout>

include_main

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical">

        <FrameLayout
           android:id="@+id/fragmentContainer"
           android:layout_width="match_parent"
           android:layout_height="match_parent" />

</LinearLayout>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58050987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档