Include标记在运行时以Xamarin .axml布局提供异常

时间:2017-06-04 08:41:41

标签: android android-layout xamarin.android

我试图在其他布局(.axml)中包含/重用布局(.axml),但在编译时一切似乎都很好。在运行时它会产生如下异常:

  

未处理的例外:

     

Android.Views.InflateException:二进制XML文件行#1:您必须在include标记中指定布局:<include layout="@layout/layoutID" />已发生

包含标签的布局如下:

&#13;
&#13;
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="100"
    android:minWidth="25px"
    android:minHeight="25px"
    android:background="@android:color/background_light">
    <include
        android:layout_height="wrap_content"
        android:layout="@layout/header_partial"
        android:id="@+id/layoutHeaderPartial" />
        <!-- other controls -->
 </LinearLayout>
&#13;
&#13;
&#13;

部分/可重复使用的布局代码如下:

&#13;
&#13;
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:focusable="true"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"
    android:clickable="true"
    android:weightSum="100"
    android:orientation="horizontal">
  <LinearLayout
      android:layout_width="0dp"
      android:layout_height="wrap_content"
      android:layout_weight="20"
      android:gravity="center_horizontal">
    <refractored.controls.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/door_image"
        android:layout_width="70dp"
        android:layout_height="70dp"
        app:civ_border_width="0dp"
        app:civ_border_color="#FF000000"
        android:src="@drawable/img1" />
  </LinearLayout>
  <LinearLayout
      android:layout_width="0dp"
      android:layout_height="match_parent"
      android:orientation="horizontal"
      android:layout_weight="55"
      android:paddingLeft="5dp"
      android:gravity="left|center_vertical">
    <TextView
        android:id="@+id/lblStatusFixed"
        android:textColor="@color/year"
        android:textSize="10sp"
        android:gravity="left"
        android:layout_marginLeft="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Status:" />
    <TextView
        android:id="@+id/lblLockedStatus"
        android:gravity="left"
        android:textColor="@color/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10sp"
        android:paddingLeft="10dp"
        android:layout_marginLeft="5dp"
        android:textStyle="bold"
        android:text="working" />
    <refractored.controls.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/door_lockImg"
        android:layout_width="30dp"
        android:layout_height="30dp"
        app:civ_border_width="0dp"
        app:civ_border_color="#FF000000"
        android:paddingLeft="10dp"
        android:layout_marginLeft="10dp"
        android:gravity="left"
        android:src="@drawable/img2" />
  </LinearLayout>
  <LinearLayout
      android:layout_width="0dp"
      android:layout_height="match_parent"
      android:layout_weight="25"
      android:gravity="center">
    <TextView
        android:id="@+id/lastuse"
        android:textColor="@color/year"
        android:layout_width="wrap_content"
        android:gravity="right"
        android:textSize="10sp"
        android:layout_height="wrap_content"
        android:layout_marginRight="10dp"
        android:text="Last use: 8hrs" />
  </LinearLayout>
</LinearLayout>
&#13;
&#13;
&#13;

在编译时一切似乎都很好,我可以看到设计师的观点运作良好,但在运行时我不知道什么是错的。

1 个答案:

答案 0 :(得分:1)

问题是,您包含android前缀android:layout="@layout/header_partial",但它应该没有:include layout="@layout/header_partial"