Android 向.axml添加视图时出现InvalidCastException
我在向axml文件添加视图时遇到问题。每当我在现有视图之间添加视图时,我都会收到错误: System.InvalidCastException:无法将类型为“Android.Widget.EditText”的实例转换为类型为“Android.Widget.LinearLayout” 它正在尝试将新视图强制转换为紧随其后的视图。将视图添加到页面末尾时没有问题。我可以将视图添加到project中的其他.axml文件中,而不会出现任何问题。我不确定我是如何打破这一点的。是否有人可以提供帮助?代码如下:Android 向.axml添加视图时出现InvalidCastException,android,xamarin,Android,Xamarin,我在向axml文件添加视图时遇到问题。每当我在现有视图之间添加视图时,我都会收到错误: System.InvalidCastException:无法将类型为“Android.Widget.EditText”的实例转换为类型为“Android.Widget.LinearLayout” 它正在尝试将新视图强制转换为紧随其后的视图。将视图添加到页面末尾时没有问题。我可以将视图添加到project中的其他.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>
使用下面的代码更新您的代码。您不能使用direct 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>
请显示您的代码,哪一行抛出InvalidCastException
?在活动中直接分配视图时似乎抛出错误。例如,txt_vehicle是我要添加的视图,因此在尝试查找resource.Id.ll_时出错。添加editText1会导致在尝试查找r时出错esource.Id.tv_qtyIt应该是正常的,因为它在RelativeLayout和LinearLayout(ll_parent)范围内。在某一点上,它也正好位于tv_qty之上,并且仍然抛出相同的错误。