Android 相对布局误差中的线性布局

Android 相对布局误差中的线性布局,android,android-layout,Android,Android Layout,我有相对布局,里面有两个线性布局 程序在没有第一个线性布局的情况下工作。有人能解释为什么吗 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_

我有相对布局,里面有两个线性布局

程序在没有第一个线性布局的情况下工作。有人能解释为什么吗

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bngp" >

    <TextView
        android:id="@+id/Cart"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginBottom="5dp"
        android:layout_marginTop="5dp"
        android:gravity="center_horizontal"
        android:paddingTop="10dp"
        android:text="Cart"
        android:textColor="#FFFFFF"
        android:textSize="25sp"
        android:textStyle="bold" />


//这是线性布局导致的错误

    <LinearLayout
        android:id="@+id/table"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/Cart"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/Product"
            android:layout_height="wrap_content"
            android:layout_weight="6"
            android:text="Product"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/Quantity"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:gravity="center"
            android:text="Quantity"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/Price"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:gravity="center"
            android:text="Price"
            android:textColor="#000000" />

        <TextView
            android:id="@+id/Value"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:gravity="center"
            android:text="Value"
            android:textColor="#000000" />
    </LinearLayout>

//线性布局结束





对于初学者,不要使用@id/blah,始终使用@+id/blah(即使您没有定义视图)。它不会造成伤害,并且可以防止一些真正难以追踪的错误


有关详细信息,请提供您收到的错误。

现在检查您的布局。我编辑了一些行。使用@+id而不是@id。你必须知道@id、@+id和@android:id之间的区别

例如:

===========================================================

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <item name="TextView1" type="id"/>
</resources>
"@+id" means you are created a view (textview , layouts , etc..) in your layout and you wanted to add the id to R.java.
现在检查你的布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bngp" >

<TextView
    android:id="@+id/Cart"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginBottom="5dp"
    android:layout_marginTop="5dp"
    android:gravity="center_horizontal"
    android:paddingTop="10dp"
    android:text="Cart"
    android:textColor="#FFFFFF"
    android:textSize="25sp"
    android:textStyle="bold" />

<LinearLayout
    android:id="@+id/table"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Cart"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/Product"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="6"
        android:text="Product"
        android:textColor="#000000" />

    <TextView
        android:id="@+id/Quantity"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="3"
        android:gravity="center"
        android:text="Quantity"
        android:textColor="#000000" />

    <TextView
        android:id="@+id/Price"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:gravity="center"
        android:text="Price"
        android:textColor="#000000" />

    <TextView
        android:id="@+id/Value"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:gravity="center"
        android:text="Value"
        android:textColor="#000000" />
</LinearLayout>

<ListView
    android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/textView1"
    android:layout_below="@+id/table" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/linear"
    android:paddingBottom="20dp"
    android:paddingTop="20dp"
    android:text="Total Value: "
    android:textColor="#FFFFFF" />

<TextView
    android:id="@+id/Final_result"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/linear"
    android:layout_toRightOf="@+id/textView1"
    android:paddingBottom="20dp"
    android:paddingTop="20dp"
    android:textColor="#FFFFFF" />

<LinearLayout
    android:id="@+id/linear"
    style="@android:style/ButtonBar"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" >

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Confirm" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Clear" />
</LinearLayout>

</RelativeLayout>


可能是因为您在第一个
线性布局中缺少了
android:weightSum=“
,您正在定义
android:layou weight
在它的孩子中,您得到了什么错误?除了未设置视图的
高度或
宽度和一些“最佳实践”之外没有地址对我来说似乎很好。这个答案没有错。的确,新id需要a+。否则,构建器可能会假定该id已存在于Ressource文件夹R.java中,或者将其链接到您不一定要使用的现有资源。应该对其进行调整,并将其编辑到某个级别smh。。。
<?xml version="1.0" encoding="utf-8"?>
<resources>
  <item name="TextView1" type="id"/>
</resources>
<TextView
    android:id="@id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
/>
"@+id" means you are created a view (textview , layouts , etc..) in your layout and you wanted to add the id to R.java.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bngp" >

<TextView
    android:id="@+id/Cart"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginBottom="5dp"
    android:layout_marginTop="5dp"
    android:gravity="center_horizontal"
    android:paddingTop="10dp"
    android:text="Cart"
    android:textColor="#FFFFFF"
    android:textSize="25sp"
    android:textStyle="bold" />

<LinearLayout
    android:id="@+id/table"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Cart"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/Product"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="6"
        android:text="Product"
        android:textColor="#000000" />

    <TextView
        android:id="@+id/Quantity"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="3"
        android:gravity="center"
        android:text="Quantity"
        android:textColor="#000000" />

    <TextView
        android:id="@+id/Price"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:gravity="center"
        android:text="Price"
        android:textColor="#000000" />

    <TextView
        android:id="@+id/Value"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:gravity="center"
        android:text="Value"
        android:textColor="#000000" />
</LinearLayout>

<ListView
    android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/textView1"
    android:layout_below="@+id/table" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/linear"
    android:paddingBottom="20dp"
    android:paddingTop="20dp"
    android:text="Total Value: "
    android:textColor="#FFFFFF" />

<TextView
    android:id="@+id/Final_result"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/linear"
    android:layout_toRightOf="@+id/textView1"
    android:paddingBottom="20dp"
    android:paddingTop="20dp"
    android:textColor="#FFFFFF" />

<LinearLayout
    android:id="@+id/linear"
    style="@android:style/ButtonBar"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" >

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Confirm" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Clear" />
</LinearLayout>

</RelativeLayout>