2013-05-09 3 views
1

상대 레이아웃이 있고 그 안에 선형 레이아웃이 두 ​​개 있습니다.상대 레이아웃 오류의 선형 레이아웃

첫 번째 선형 레이아웃없이 프로그램이 작동합니다. 왜 그 이유를 설명 할 수 있습니까?

<?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> 

// 단부를 일으킨다


<ListView 
     android:id="@android: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" /> 

0,123,516
<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> 
+0

을 확인 안드로이드 : weightSum = 첫 번째 LinearLayout에서 자식의 android : layout_weight를 정의하려고합니다. – jnthnjns

+1

어떤 오류가 발생합니까? – jnthnjns

+0

'높이'또는 '너비'이외의보기가 설정되지 않았으며 해결되지 않은 일부 "우수 사례"가 나와 잘 작동하는 것 같습니다. – jnthnjns

답변

0

처음에는 @ id/blah를 사용하는 대신 뷰를 정의하지 않더라도 항상 @ + id/blah를 사용하십시오. 그것은 상처를주지 않으며, 어떤 사람들이 오류를 추적하는 것을 막을 수 있습니다.

자세한 내용은 제공되는 오류를 제공해주십시오.

+0

이 답변에 문제가 없습니다. 새 ID에는 +가 필요합니다. 그렇지 않으면 빌더는 Ressource 폴더에 R.java라는 ID가 이미 있다고 가정하거나 사용하지 않을 기존 리소스에 ID를 연결합니다. 다운 votes는 정당화되고 특정 수준까지 수정되어야합니다. . – Br0thazS0ul

3

지금 레이아웃을 확인하십시오. 몇 줄을 편집했습니다. @id 대신 @ + id를 사용하십시오. @id, @ + id 및 @android : id의 차이점을 알아야합니다. 즉

,

"@android:id" which means you are referencing an item in Android namespace. 

"@id" means you have defined ids in your application itself, 

예 : -

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

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <item name="TextView1" type="id"/> 
</resources> 

이 경우 자원에 textview id를 정의했습니다. 지금 당신은

<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>