将视图添加到.axml时出现InvalidCastException

时间:2018-04-26 18:48:10

标签: android xamarin

我在向axml文件添加视图时遇到问题。每当我在现有视图之间添加视图时,我都会收到错误:

  

System.InvalidCastException:无法将“Android.Widget.EditText”类型的实例转换为“Android.Widget.LinearLayout”类型。

它正在尝试将新视图转换为紧随其后的视图。将视图添加到页面末尾时没有问题。我可以在项目中向其他.axml文件添加视图而不会出现任何问题。我不知道我做了什么来打破这个。有人可以帮忙吗?代码如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ProgressBar
    android:id="@+id/pb_status"
    style="?android:attr/progressBarStyle"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_centerInParent="true"
    android:visibility="gone" />
<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/ll_parent"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:layout_margin="@dimen/default_page_margin">
    <GridLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:rowCount="1"
        android:columnCount="2"
        android:minWidth="25px"
        android:minHeight="25px"
        android:id="@+id/gl_po">
        <TextView
            android:text="PO #:"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:textSize="20sp"
            android:textStyle="bold" />
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="225dp"
            android:textSize="20sp"
            android:textStyle="bold"
            android:id="@+id/tv_po_display"
            android:layout_weight="1" />
    </GridLayout>
    <GridLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:columnCount="2"
        android:rowCount="2"
        android:minWidth="25px"
        android:minHeight="25px">
        <TextView
            android:text="Part #:"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:textStyle="bold"
            android:layout_column="0"
            android:layout_row="0" />
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="225dp"
            android:textSize="20sp"
            android:textStyle="bold"
            android:id="@+id/tv_part_display"
            android:layout_column="1"
            android:layout_row="0" />
        <TextView
            android:text=""
            android:layout_height="wrap_content"
            android:layout_width="100dp"
            android:textSize="20sp"
            android:textStyle="bold"
            android:layout_column="0"
            android:layout_row="1" />
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="225dp"
            android:textSize="15dp"
            android:id="@+id/tv_part_desc_display"
            android:layout_column="1"
            android:layout_row="1" />
    </GridLayout>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editText1" />    <-------DOESN'T LIKE THIS
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp">
    <!--Quantity-->
        <TextView
            android:text="Quantity:"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:textStyle="bold"
            android:id="@+id/tv_qty" />
        <EditText
            style="@style/TextEditStyle"
            android:background="@drawable/textinputborder"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/txt_qty" />
        <EditText
            style="@style/TextEditStyle"
            android:background="@drawable/textinputborder"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/txt_vehicle" />
    <!--Purity %-->
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/ll_purity">
            <TextView
                android:text="Purity Pct."
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="20sp"
                android:textStyle="bold" />
            <EditText
                style="@style/TextEditStyle"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/txt_purity"
                android:background="@drawable/textinputborder"
                android:inputType="numberDecimal"
                android:drawableRight="@drawable/pct_sm" />
        </LinearLayout>
    <!--UOM-->
        <TextView
            android:text="UOM:"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:textStyle="bold" />
        <TextView
            android:id="@+id/tv_uom_dropdown"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/dropdown_background"
            android:drawableRight="@drawable/icn_dropdown_open"
            android:gravity="center_vertical|left"
            android:focusable="true"
            android:padding="10dip"
            android:textSize="20dp"
            android:textColor="@color/dark_text" />
        <LinearLayout
            android:id="@+id/ll_uom_dropdown_foldout_menu"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="2dip"
            android:background="@drawable/dropdown_background"
            android:orientation="vertical"
            android:padding="1dip"
            android:visibility="gone"
            android:focusable="true">
            <ListView
                android:minWidth="25px"
                android:minHeight="25px"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/lv_uom"
                android:choiceMode="singleChoice" />
        </LinearLayout>
    <!--Location-->
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/ll_from_loc"
            android:visibility="gone">
            <TextView
                android:text="From Location:"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="20sp"
                android:textStyle="bold" />
            <TextView
                android:id="@+id/tv_from_loc_dropdown"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/dropdown_background_disabled"
                android:drawableRight="@drawable/icn_dropdown_open"
                android:gravity="center_vertical|left"
                android:focusable="true"
                android:padding="10dip"
                android:textSize="20dp"
                android:textColor="@color/dark_text" />
        </LinearLayout>
        <TextView
            android:id="@+id/tv_to_loc"
            android:text="Location:"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:textStyle="bold" />
        <TextView
            android:id="@+id/tv_loc_dropdown"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/dropdown_background"
            android:drawableRight="@drawable/icn_dropdown_open"
            android:gravity="center_vertical|left"
            android:focusable="true"
            android:padding="10dip"
            android:textSize="20dp"
            android:textColor="@color/dark_text" />
        <LinearLayout
            android:id="@+id/ll_loc_dropdown_foldout_menu"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="2dip"
            android:background="@drawable/dropdown_background"
            android:orientation="vertical"
            android:padding="1dip"
            android:visibility="gone"
            android:focusable="true">
            <ListView
                android:minWidth="25px"
                android:minHeight="25px"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/lv_loc"
                android:choiceMode="singleChoice" />
        </LinearLayout>
        <View
            android:layout_weight="1"
            android:layout_height="0dp"
            android:layout_width="match_parent" />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="100dp">
            <Button
                android:id="@+id/btn_submit"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="Submit"
                style="@style/SM_ButtonStyle" />
            <View
                style="@style/SM_ButtonSpacer" />
            <Button
                android:id="@+id/btn_cancel"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="Cancel"
                style="@style/SM_ButtonStyle" />
            <View
                style="@style/SM_ButtonSpacer" />
            <Button
                android:id="@+id/btn_menu"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="Menu"
                style="@style/SM_ButtonStyle" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
</RelativeLayout>

更新:我收到一条错误,要求我检查ActivityLog.xml。这是我从那里看到的错误:

  

System.NullReferenceException:未将对象引用设置为对象的实例。在E:\ A_work \ 12 \ s \ Xamarin.Designer.VisualStudio \ src \ VisualStudio.Android.Designer \ MonoAndroidDesignerService.cs中的Xamarin.VisualStudio.Android.Designer.MonoAndroidDesignerService.FindBestAndroidTarget(DesignerProject designerProject,Int32 apiLevel):第136行at at Xamarin.VisualStudio.Android.Designer.AxmlTextViewCreationListener.VsTextViewCreated(IVsTextView textViewAdapter)位于E:\ A_work \ 12 \ s \ Xamarin.Designer.VisualStudio \ src \ VisualStudio.Android.Designer \ Editor \ AxmlTextViewCreationListener.cs:Microsoft第59行。 VisualStudio.Editor.Implementation.SimpleTextViewWindow。&lt;&gt; c__DisplayClass565_0.b__0()at Microsoft.VisualStudio.Text.Utilities.GuardedOperations.CallExtensionPoint(Object errorSource,Action call)---从先前位置抛出异常的堆栈跟踪结束---在Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)

1 个答案:

答案 0 :(得分:0)

使用以下代码更新您的代码。你不能使用直接的EditText。

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ProgressBar
    android:id="@+id/pb_status"
    style="?android:attr/progressBarStyle"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_centerInParent="true"
    android:visibility="gone" />
<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/ll_parent"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:layout_margin="@dimen/default_page_margin">
    <GridLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:rowCount="1"
        android:columnCount="2"
        android:minWidth="25px"
        android:minHeight="25px"
        android:id="@+id/gl_po">
        <TextView
            android:text="PO #:"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:textSize="20sp"
            android:textStyle="bold" />
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="225dp"
            android:textSize="20sp"
            android:textStyle="bold"
            android:id="@+id/tv_po_display"
            android:layout_weight="1" />
    </GridLayout>
    <GridLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:columnCount="2"
        android:rowCount="2"
        android:minWidth="25px"
        android:minHeight="25px">
        <TextView
            android:text="Part #:"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:textStyle="bold"
            android:layout_column="0"
            android:layout_row="0" />
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="225dp"
            android:textSize="20sp"
            android:textStyle="bold"
            android:id="@+id/tv_part_display"
            android:layout_column="1"
            android:layout_row="0" />
        <TextView
            android:text=""
            android:layout_height="wrap_content"
            android:layout_width="100dp"
            android:textSize="20sp"
            android:textStyle="bold"
            android:layout_column="0"
            android:layout_row="1" />
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="225dp"
            android:textSize="15dp"
            android:id="@+id/tv_part_desc_display"
            android:layout_column="1"
            android:layout_row="1" />
    </GridLayout>
<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="100dp">
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editText1" />    <-------DOESN'T LIKE THIS
</LinearLayout>
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp">
    <!--Quantity-->
        <TextView
            android:text="Quantity:"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:textStyle="bold"
            android:id="@+id/tv_qty" />
        <EditText
            style="@style/TextEditStyle"
            android:background="@drawable/textinputborder"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/txt_qty" />
        <EditText
            style="@style/TextEditStyle"
            android:background="@drawable/textinputborder"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/txt_vehicle" />
    <!--Purity %-->
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/ll_purity">
            <TextView
                android:text="Purity Pct."
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="20sp"
                android:textStyle="bold" />
            <EditText
                style="@style/TextEditStyle"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/txt_purity"
                android:background="@drawable/textinputborder"
                android:inputType="numberDecimal"
                android:drawableRight="@drawable/pct_sm" />
        </LinearLayout>
    <!--UOM-->
        <TextView
            android:text="UOM:"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:textStyle="bold" />
        <TextView
            android:id="@+id/tv_uom_dropdown"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/dropdown_background"
            android:drawableRight="@drawable/icn_dropdown_open"
            android:gravity="center_vertical|left"
            android:focusable="true"
            android:padding="10dip"
            android:textSize="20dp"
            android:textColor="@color/dark_text" />
        <LinearLayout
            android:id="@+id/ll_uom_dropdown_foldout_menu"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="2dip"
            android:background="@drawable/dropdown_background"
            android:orientation="vertical"
            android:padding="1dip"
            android:visibility="gone"
            android:focusable="true">
            <ListView
                android:minWidth="25px"
                android:minHeight="25px"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/lv_uom"
                android:choiceMode="singleChoice" />
        </LinearLayout>
    <!--Location-->
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/ll_from_loc"
            android:visibility="gone">
            <TextView
                android:text="From Location:"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="20sp"
                android:textStyle="bold" />
            <TextView
                android:id="@+id/tv_from_loc_dropdown"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/dropdown_background_disabled"
                android:drawableRight="@drawable/icn_dropdown_open"
                android:gravity="center_vertical|left"
                android:focusable="true"
                android:padding="10dip"
                android:textSize="20dp"
                android:textColor="@color/dark_text" />
        </LinearLayout>
        <TextView
            android:id="@+id/tv_to_loc"
            android:text="Location:"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:textStyle="bold" />
        <TextView
            android:id="@+id/tv_loc_dropdown"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/dropdown_background"
            android:drawableRight="@drawable/icn_dropdown_open"
            android:gravity="center_vertical|left"
            android:focusable="true"
            android:padding="10dip"
            android:textSize="20dp"
            android:textColor="@color/dark_text" />
        <LinearLayout
            android:id="@+id/ll_loc_dropdown_foldout_menu"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="2dip"
            android:background="@drawable/dropdown_background"
            android:orientation="vertical"
            android:padding="1dip"
            android:visibility="gone"
            android:focusable="true">
            <ListView
                android:minWidth="25px"
                android:minHeight="25px"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/lv_loc"
                android:choiceMode="singleChoice" />
        </LinearLayout>
        <View
            android:layout_weight="1"
            android:layout_height="0dp"
            android:layout_width="match_parent" />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="100dp">
            <Button
                android:id="@+id/btn_submit"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="Submit"
                style="@style/SM_ButtonStyle" />
            <View
                style="@style/SM_ButtonSpacer" />
            <Button
                android:id="@+id/btn_cancel"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="Cancel"
                style="@style/SM_ButtonStyle" />
            <View
                style="@style/SM_ButtonSpacer" />
            <Button
                android:id="@+id/btn_menu"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="Menu"
                style="@style/SM_ButtonStyle" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
</RelativeLayout>