麻烦与xml布局

时间:2014-03-30 12:17:55

标签: java android xml

我创建了这个xml布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".AllJokes" 
    android:background="@drawable/background">

    <ListView
              android:id="@+id/allJokesList"
              android:layout_height="wrap_content"
              android:layout_width="match_parent">
    </ListView>
</RelativeLayout>
<LinearLayout 
            android:layout_alignParentBottom="true" 
            android:id="@+id/adViewContainer"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="wrap_content">

              <com.google.android.gms.ads.AdView android:id="@+id/adView"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         ads:adUnitId="ca-app-pub-code/code"
                         ads:adSize="BANNER"/>
    </LinearLayout>

并且总是抛出错误,说结构不正确:

The markup in the document following the root element must be well-formed.

为什么会这样?

我知道它非常小,而且与root元素有关,但作为初学者,很难理解上下文。

P.S:我在relativelayout之后添加了linearlayout,因为,如Google广告指南中所述,这两个元素之间应该有一个空格。

3 个答案:

答案 0 :(得分:1)

发生问题的原因是您已将LinearLayout放在RelativeLayout的{​​{1}}的父布局之外。

答案 1 :(得分:1)

此处的根元素是RelativeLayout,但您将LinearLayout放在根元素之外,这就是您收到此错误的原因。

如果您想在Linearlayout之后设置RelativeLayout,我建议您将另一个RelativeLayout与您的Linearlayout放在根元素中。

答案 2 :(得分:1)

整个XML文件只能有一个根元素。这里有两个RelativeLayout和LinearLayout。