LinearLayout or its LinearLayout parent is useless , Can i ignore the warning message?

14,978

Solution 1

You have two LinearLayout, one out of them is use-less till now. This warning suggests you to remove one of them. like this:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/LinearLayout1"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:background="@drawable/menu_bg2"
          android:orientation="vertical" >

     <!-- your other ImageView etc.-->
</LinearLayout>

Solution 2

Because in the first LinearLayout, there is only 1 view in it, and it's a LinearLayout.

Here is the illustrated structure:

LinearLayout
    LinearLayout
        ImageButton
        ImageButton
        ImageButton
        ImageButton
        ImageButton
    // You should add another View or ViewGroup for the first LinearLayout

LinearLayout is a subclass of ViewGroup and is intended to group some View(s), at least 2 (CMIIW).

So, the warning was issued because it assumed your first LinearLayout didn't have anything to group or it didn't matter if you omitted it.

Sorry if my explanation in English is bad.

Share:
14,978
KingWu
Author by

KingWu

Updated on June 04, 2022

Comments

  • KingWu
    KingWu almost 2 years

    I face the nest layout problems and throws some exceptions. The error is "This LinearLayout layout or its LinearLayout parent is useless ...". I know i can ignore it this warning by this setting.

    Setting: Build Path->Configure Build Path.... Under Android Lint Preferences look for UselessParent and set it's severity to ignore or click Ignore All.

    However, the Eclipse graphical layout cannot show anything and display an error message - "Index:0, Size 0, Exception details are logged in Window > Show View > Error Log".

    How can i make the graphical layout shows the nest layout??

    Here is my code:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/LinearLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" >
    
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="@drawable/menu_bg2"
            android:orientation="vertical" >
    
            <ImageButton
                android:id="@+id/imageButton1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:contentDescription="@string/menu_item1"
                android:src="@drawable/alarm2x" />
    
            <ImageButton
                android:id="@+id/imageButton2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:contentDescription="@string/menu_item2"
                android:src="@drawable/bank2x" />
    
            <ImageButton
                android:id="@+id/imageButton3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:contentDescription="@string/menu_item3"
                android:src="@drawable/brief_case2x" />
    
            <ImageButton
                android:id="@+id/imageButton4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:contentDescription="@string/menu_item4"
                android:src="@drawable/trolley2x" />
    
            <ImageButton
                android:id="@+id/imageButton5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:contentDescription="@string/menu_item5"
                android:src="@drawable/calculator2x" />
    
        </LinearLayout>
    </LinearLayout>
    

    Thanks all.