这个RelativeLayout布局或其LinearLayout父项是无用的

我正在开发一个Android 3.1。 和以上申请。

在一个活动中,我dynamic地生成其布局。 我使用formdetail.xml作为contentview:

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.formdetail); Bundle extras = getIntent().getExtras(); if (extras != null) { currentFormId = extras.getString("FormId"); } } 

formdetail.xml:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/detailLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <Button android:id="@+id/downloadFormsButton" android:enabled="false" android:layout_alignParentLeft="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="10dp" android:text="@string/download_forms_button" /> <TextView android:id="@+id/formErrorMsg" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:textSize="16dp" > </TextView> </RelativeLayout> </LinearLayout> 

downloadFormsButtonformErrorMsg必须始终在表单中。

但是使用这个XML我得到这个警告:

This RelativeLayout layout or its LinearLayout parent is useless

我需要linearLayout以编程方式添加TableLayouts。

我怎样才能解决这个警告?

Solutions Collecting From Web of "这个RelativeLayout布局或其LinearLayout父项是无用的"

您可以忽略它或右键单击您的项目。 点击Build Path->Configure Build Path...Android Lint Preferences查找UselessParent并将其严重性设置为忽略或单击Ignore All

编辑:

我把最后一部分拿回来。 我认为Ignore All将擦除所有林特警告和错误。

Lint是正确的警告,您的LinearLayout没有做任何有用的,因为它的唯一的孩子是一个RelativeLayout。 去除LinearLayout:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/detailLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/downloadFormsButton" android:enabled="false" android:layout_alignParentLeft="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="10dp" android:text="@string/download_forms_button" /> <TextView android:id="@+id/formErrorMsg" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:textSize="16dp" /> </RelativeLayout> 

我也有与我的应用程序布局相同的问题。

我不知道如何,这是不是正确的方式,但这两个布局设置背景属性后得到解决。

现在没有任何警告和完美的工作。 希望它也能为你工作。

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:background="@drawable/bg" android:layout_height="match_parent" > <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:background="@drawable/bg2" android:layout_marginTop="10dp" > <ImageView android:id="@+id/img_BookImage" android:layout_width="200dp" android:layout_height="200dp" android:scaleType="fitXY" android:contentDescription="@string/India" android:src="@drawable/india" /> </FrameLayout> </FrameLayout> 

这只是lint一个警告。 Lint不知道你以后会追加视图到这个布局,它会警告你,你添加了一个不必要的额外视图(增加你的布局深度)。

你应该忽略这个警告(如果真的困扰你,这里是关于如何从lint 删除警告的链接)。