Android.Views.InflateException: 二进制XML文件第1行:填充工具栏类时出错。

9

我在使用这段代码的时候遇到了问题。当我在Kitkat版本上运行它时,它提示出现一个未处理的异常。

Android.Views.InflateException:二进制XML文件第一行:错误的充气类别工具栏

顺便说一句:我也按照其他问题中的建议使用了

< android.support.v7.widget.Toolbar >

...

< / android.support.v7.widget.Toolbar >

但还是同样的问题。

<?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">

    <!--Error came from this toolbar-->

    <Toolbar 
        android:minHeight="30dp"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:background="@color/lime"
        android:id="@+id/toolbar"
        android:elevation="6dp">
        <TextView
            android:text="BranchName"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:layout_marginRight="155dp"
            android:id="@+id/branchName"
            android:textColor="#000000" />
        <TextView
            android:text="Logout"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:id="@+id/logout"
            android:layout_marginRight="5dp"
            android:elevation="8dp"
            android:textColor="#000000" />
    </Toolbar>
</LinearLayout>

这是从其他.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:minWidth="25px"
        android:minHeight="25px"
        android:background="#fafafa"
        android:weightSum="100">

        <!--Toolbar was called from here by include-->

        <include 
            layout="@layout/ToolbarLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <LinearLayout
            android:orientation="horizontal"
            android:minWidth="25px"
            android:minHeight="25px"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/olive"
            android:id="@+id/linearLayout1"
            android:padding="5dp">
            <ImageButton
                android:src="@drawable/backB"
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:background="@color/olive"
                android:id="@+id/backButton"
                android:scaleType="fitCenter" />
            <LinearLayout
                android:orientation="vertical"
                android:minWidth="25px"
                android:minHeight="25px"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/linearLayout3"
                android:layout_marginLeft="-30dp">
                <TextView
                    android:text="My Orders"
                    android:textAppearance="?                                                                                                          android:attr/textAppearanceLarge"
                    android:textColor="@color/white"
                    android:id="@+id/textView1"
                    android:layout_gravity="center"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />
            </LinearLayout>
        </LinearLayout>

        <!--Other codes are not related anymore to the issue-->

    </LinearLayout>

我进行了很多研究,但我认为与InflateException相关的其他问题与我的问题无关。 我应该在这里修复什么?


请更新整个logcat以进行更好的分析。 - Mohammed Atif
我猜可能是因为你扩展了某个活动。请尝试访问https://dev59.com/OY7ea4cB1Zd3GeqPD6IY#33727136。 - Manu Sharma
1个回答

10

经过多次测试,我终于成功了 :D 感谢https://devblogs.microsoft.com/xamarin/android-tips-hello-appcompatactivity-goodbye-actionbaractivity/

这是我的更改:

我添加了nuget xamarin.android.support.v7.appCompat以及其依赖项。(因为Xamarin没有gradle)

*在activity.cs中:

-使用using Android.Support.V7.App;

-从public class OrdersActivity : Activity

-到public class OrdersActivity : AppCompatActivity

*在style.xml中:

-从style name="MyTheme" parent="@android:style/Theme.Material.Light.DarkActionBar"

-到style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar"

*在ToolbarLayout.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">
    <Toolbar
        android:minHeight="30dp"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:background="@color/lime"
        android:id="@+id/toolbar"
        android:elevation="6dp">

      ...
   
  </Toolbar>
</LinearLayout>
<?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">

    <!--I change it back to android.support.v7.widget-->

    <android.support.v7.widget.Toolbar
        android:minHeight="30dp"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:background="@color/lime"
        android:id="@+id/toolbar"
        android:elevation="6dp">

      ...
   
  </android.support.v7.widget.Toolbar>
</LinearLayout>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接