Android 设置ContentView时崩溃
以下XML在运行时崩溃。我找不到拯救我生命的问题Android 设置ContentView时崩溃,android,android-layout,Android,Android Layout,以下XML在运行时崩溃。我找不到拯救我生命的问题 <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/Scroll" android:layout_width="fill_parent" android:layout_height="fill_pa
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Scroll"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableLayout
android:layout_height="wrap_content"
android:id="@+id/tableLayout3"
android:layout_width="match_parent">
<TableRow
android:layout_height="wrap_content"
android:id="@+id/tableRow8"
android:layout_width="match_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:gravity="center_vertical|center_horizontal"
android:id="@+id/textView1"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Fish Details">
</TextView>
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:id="@+id/tableRow9"
android:layout_width="match_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:padding="10dp"
android:id="@+id/TextView01"
android:layout_height="wrap_content"
android:text="Specie"
android:layout_width="wrap_content"
android:gravity="center_vertical|right">
</TextView>
<Spinner
android:layout_weight="1"
android:id="@+id/specieSpinner"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:padding="10dp">
</Spinner>
</TableRow>
<TableRow
android:id="@+id/tableRow5"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:padding="10dp"
android:gravity="right|center_vertical"
android:layout_weight="0"
android:id="@+id/TextView06"
android:layout_height="wrap_content"
android:text="Bait">
</TextView>
<Spinner
android:id="@+id/baitSpinner"
android:layout_height="wrap_content"
android:gravity="center_vertical|center_horizontal"
android:layout_weight="1">
</Spinner>
</TableRow>
<!-- <TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:padding="10dp"
android:gravity="right|center_vertical"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_weight="0"
android:id="@+id/textView4"
android:layout_height="wrap_content"
android:text="Inches">
</TextView>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_weight="1"
android:layout_height="wrap_content"
android:weightSum="1">
<Button
android:text="-"
android:layout_height="wrap_content"
android:id="@+id/lengthMinus"
android:layout_weight=".20">
</Button>
<EditText
android:id="@+id/length"
android:layout_height="wrap_content"
android:inputType="number"
android:layout_weight="0.60">
</EditText>
<Button
android:text="+"
android:layout_height="wrap_content"
android:id="@+id/lengthPlus"
android:layout_weight=".20">
</Button>
</LinearLayout>
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:padding="10dp"
android:gravity="right|center_vertical"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_weight="0"
android:id="@+id/textView5"
android:layout_height="wrap_content"
android:text="Lbs">
</TextView>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_weight="1"
android:layout_height="wrap_content">
<Button
android:text="-"
android:id="@+id/lbsMinus"
android:layout_weight=".20"
android:layout_height="wrap_content">
</Button>
<EditText
android:id="@+id/lbs"
android:layout_height="wrap_content"
android:layout_weight=".60"
android:inputType="number">
</EditText>
<Button
android:text="+"
android:id="@+id/lbsPlus"
android:layout_weight=".20"
android:layout_height="wrap_content">
</Button>
</LinearLayout>
</TableRow>-->
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:padding="10dp"
android:gravity="right|center_vertical"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_weight="0"
android:id="@+id/textView6"
android:layout_height="wrap_content"
android:text="Ozs">
</TextView>
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_weight="1"
android:layout_height="wrap_content">
<Button
android:layout_weight=".20"
android:layout_height="wrap_content"
android:text="-"
android:id="@+id/ozsMinus">
</Button>
<EditText
android:id="@+id/ozs"
android:layout_height="wrap_content"
android:layout_weight=".60"
android:inputType="number">
</EditText>
<Button
android:text="+"
android:layout_height="wrap_content"
android:id="@+id/ozsPlus"
android:layout_weight=".20">
</Button>
</LinearLayout>
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:id="@+id/tableRow10"
android:layout_width="match_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:gravity="center_vertical|center_horizontal"
android:id="@+id/textView3"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Location Details">
</TextView>
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:id="@+id/tableRow11"
android:layout_width="match_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/TextView02"
android:padding="10dp"
android:layout_height="wrap_content"
android:text="Latitude"
android:gravity="center_vertical|right"
android:layout_weight="0" >
</TextView>
<EditText
android:id="@+id/LatText"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="numberDecimal|numberSigned">
</EditText>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tableRow12">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/TextView03"
android:padding="10dp"
android:layout_height="wrap_content"
android:text="Longitude"
android:gravity="center_vertical|right"
android:layout_weight="0">
</TextView>
<EditText
android:id="@+id/LonText"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="numberDecimal|numberSigned">
</EditText>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tableRow13">
<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:id="@+id/TextView04"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Date"
android:gravity="center_vertical|center_horizontal"
android:layout_span="2">
</TextView>
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- <DatePicker
android:layout_span="2"
android:id="@+id/datePicker1"
android:layout_weight="1"
android:gravity="center_vertical|center_horizontal"
android:layout_height="wrap_content">
</DatePicker>-->
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:id="@+id/tableRow14"
android:layout_width="match_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:gravity="center_vertical|center_horizontal"
android:id="@+id/textView2"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Time">
</TextView>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tableRow15">
<!-- <TimePicker
android:layout_span="2"
android:id="@+id/timePicker1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
</TimePicker>-->
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:id="@+id/tableRow16"
android:layout_width="match_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:gravity="center_vertical|center_horizontal"
android:id="@+id/textView7"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Water Details">
</TextView>
</TableRow>
<TableRow
android:id="@+id/tableRow6"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:paddingLeft="30dp"
android:id="@+id/TextView07"
android:layout_height="wrap_content"
android:padding="10dp"
android:gravity="right|center_vertical"
android:layout_weight="0"
android:text="Clarity" >
</TextView>
<Spinner
android:id="@+id/claritySpinner"
android:layout_weight="1"
android:layout_height="wrap_content">
</Spinner>
</TableRow>
<TableRow
android:id="@+id/tableRow7"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:padding="10dp"
android:layout_weight="0"
android:id="@+id/TextView08"
android:layout_height="wrap_content"
android:gravity="right|center_vertical"
android:text="Temp(F)">
</TextView>
<EditText
android:id="@+id/editTemp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:inputType="numberSigned">
</EditText>
</TableRow>
</TableLayout>
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:paddingLeft="30dp"
android:id="@+id/TextView09"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:text="Notes"
android:layout_width="wrap_content"
android:paddingBottom="10dp">
</TextView>
</LinearLayout>
</ScrollView>
在TableLayout中添加TableRow。您的第一个布局应该是TableLayout。然后您应该使用TableRow 使用以下命令
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Scroll"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableLayout
android:layout_height="wrap_content"
android:id="@+id/tableLayout3"
android:layout_width="fill_parent">
<TableRow
android:layout_height="wrap_content"
android:id="@+id/tableRow8"
android:layout_width="fill_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:gravity="center_vertical|center_horizontal"
android:id="@+id/textView1"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_width = "fill_parent"
android:text="Fish Details">
</TextView>
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:id="@+id/tableRow9"
android:layout_width="fill_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:padding="10dp"
android:id="@+id/TextView01"
android:layout_height="wrap_content"
android:text="Specie"
android:layout_width="wrap_content"
android:gravity="center_vertical|right">
</TextView>
<Spinner
android:layout_weight="1"
android:id="@+id/specieSpinner"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:padding="10dp">
</Spinner>
</TableRow>
<TableRow
android:id="@+id/tableRow5"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:padding="10dp"
android:gravity="right|center_vertical"
android:layout_weight="0"
android:id="@+id/TextView06"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Bait">
</TextView>
<Spinner
android:id="@+id/baitSpinner"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:gravity="center_vertical|center_horizontal"
android:layout_weight="1">
</Spinner>
</TableRow>
<!-- <TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:padding="10dp"
android:gravity="right|center_vertical"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_weight="0"
android:id="@+id/textView4"
android:layout_height="wrap_content"
android:text="Inches">
</TextView>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_weight="1"
android:layout_height="wrap_content"
android:weightSum="1">
<Button
android:text="-"
android:layout_height="wrap_content"
android:id="@+id/lengthMinus"
android:layout_weight=".20">
</Button>
<EditText
android:id="@+id/length"
android:layout_height="wrap_content"
android:inputType="number"
android:layout_weight="0.60">
</EditText>
<Button
android:text="+"
android:layout_height="wrap_content"
android:id="@+id/lengthPlus"
android:layout_weight=".20">
</Button>
</LinearLayout>
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:padding="10dp"
android:gravity="right|center_vertical"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_weight="0"
android:id="@+id/textView5"
android:layout_height="wrap_content"
android:text="Lbs">
</TextView>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_weight="1"
android:layout_height="wrap_content">
<Button
android:text="-"
android:id="@+id/lbsMinus"
android:layout_weight=".20"
android:layout_height="wrap_content">
</Button>
<EditText
android:id="@+id/lbs"
android:layout_height="wrap_content"
android:layout_weight=".60"
android:inputType="number">
</EditText>
<Button
android:text="+"
android:id="@+id/lbsPlus"
android:layout_weight=".20"
android:layout_height="wrap_content">
</Button>
</LinearLayout>
</TableRow>-->
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:padding="10dp"
android:gravity="right|center_vertical"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_weight="0"
android:id="@+id/textView6"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Ozs">
</TextView>
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<Button
android:layout_weight=".20"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="-"
android:id="@+id/ozsMinus">
</Button>
<EditText
android:id="@+id/ozs"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_weight=".60"
android:inputType="number">
</EditText>
<Button
android:text="+"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/ozsPlus"
android:layout_weight=".20">
</Button>
</LinearLayout>
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:id="@+id/tableRow10"
android:layout_width="fill_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:gravity="center_vertical|center_horizontal"
android:id="@+id/textView3"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Location Details">
</TextView>
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:id="@+id/tableRow11"
android:layout_width="fill_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/TextView02"
android:padding="10dp"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Latitude"
android:gravity="center_vertical|right"
android:layout_weight="0" >
</TextView>
<EditText
android:id="@+id/LatText"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="numberDecimal|numberSigned">
</EditText>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tableRow12">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/TextView03"
android:padding="10dp"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Longitude"
android:gravity="center_vertical|right"
android:layout_weight="0">
</TextView>
<EditText
android:id="@+id/LonText"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_weight="1"
android:inputType="numberDecimal|numberSigned">
</EditText>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tableRow13">
<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:id="@+id/TextView04"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Date"
android:layout_width="wrap_content"
android:gravity="center_vertical|center_horizontal"
android:layout_span="2">
</TextView>
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<!-- <DatePicker
android:layout_span="2"
android:id="@+id/datePicker1"
android:layout_weight="1"
android:gravity="center_vertical|center_horizontal"
android:layout_height="wrap_content">
</DatePicker>-->
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:id="@+id/tableRow14"
android:layout_width="fill_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:gravity="center_vertical|center_horizontal"
android:id="@+id/textView2"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Time">
</TextView>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tableRow15">
<!-- <TimePicker
android:layout_span="2"
android:id="@+id/timePicker1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
</TimePicker>-->
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:id="@+id/tableRow16"
android:layout_width="fill_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceSmall"
android:gravity="center_vertical|center_horizontal"
android:id="@+id/textView7"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Water Details">
</TextView>
</TableRow>
<TableRow
android:id="@+id/tableRow6"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:paddingLeft="30dp"
android:id="@+id/TextView07"
android:layout_height="wrap_content"
android:padding="10dp"
android:gravity="right|center_vertical"
android:layout_weight="0"
android:layout_width="wrap_content"
android:text="Clarity" >
</TextView>
<Spinner
android:id="@+id/claritySpinner"
android:layout_weight="1"
android:layout_height="wrap_content">
</Spinner>
</TableRow>
<TableRow
android:id="@+id/tableRow7"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:padding="10dp"
android:layout_weight="0"
android:id="@+id/TextView08"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:gravity="right|center_vertical"
android:text="Temp(F)">
</TextView>
<EditText
android:id="@+id/editTemp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:inputType="numberSigned">
</EditText>
</TableRow>
</TableLayout>
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:paddingLeft="30dp"
android:id="@+id/TextView09"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:text="Notes"
android:layout_width="wrap_content"
android:paddingBottom="10dp">
</TextView>
</LinearLayout>
</ScrollView>
EDIT by OP: Missing android:layout_width
按OP编辑:缺少android:布局\u宽度
非常小的错误都会完全破坏任何程序,使其无法正常运行。我不打算对此进行测试,但我有一种感觉,它类似于“android:layout_weight=“1”,而您没有在其中添加“1dip”。您必须非常仔细地编写这些XML文档中的所有代码。。。它们没有得到很好的解析/解释。请确保您的xmlns
属性:
xmlns:android="http://schemas.android.com/apk/res/android"
仅显示在最外层的元素中(在您的示例中为ScrollView
)。每个文件只需要一个按钮。您提到将“布局宽度”添加到按钮,我认为您的做法是正确的。如果将宽度设置为“0dp”,则重量仍能正常工作
<Button
android:layout_weight=".20"
android:layout_height="wrap_content"
android:layout_width="0dp"
</Button>
您应该提供LogCat以获取更多详细信息添加LogCat以进行调试…它位于tablelayout中。。。我没有发布所有的xml来保持它的简单,我知道错误在上面的xml标记中的某个地方,如果你愿意,我可以发布更多,如果你认为它会有帮助的话。按钮上缺少以下内容:android:layout_width如果我将layout_width添加到按钮上,它会弄乱按钮的大小。。。布局权重被忽略,您不需要在布局权重属性中添加“dip”或任何其他维度。请检查文件。
<Button
android:layout_weight=".20"
android:layout_height="wrap_content"
android:layout_width="0dp"
</Button>