Eclipse ADT - 解析XML时出错:格式不正确(无效令牌)

时间:2014-09-30 23:09:49

标签: android xml eclipse adt

我有一组9个按钮,3组3个。由水平线性布局组成的集合,3个集合在一起形成父垂直线性布局中的9个按钮的数组。

错误出现在第一个按钮开始标记处,并显示“解析XML时出错:格式不正确(无效标记)”。

我认为问题可能在于LinearLayout的开始和结束标记,但我已多次检查以确保它们是正确的,我很确定它们是正确的。我不确定还有什么可能导致这个问题。

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

<LinearLayout
    android:id="@+id/layoutVerticalgame"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="25dp"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/layoutHorizontalGame1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        <Button
            android:id="@+id/button1"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="@string/Blank" />

        <Button
            android:id="@+id/button2"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="@string/Blank" />

        <Button
            android:id="@+id/button3"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="@string/Blank" /> 
    </LinearLayout>

    <LinearLayout
        android:id="@+id/layoutHorizontalGame2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        <Button
            android:id="@+id/button4"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="@string/Blank" />

        <Button
            android:id="@+id/button5"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="@string/Blank" />

        <Button
            android:id="@+id/button6"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="@string/Blank" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/layoutHorizontalGame3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        <Button
            android:id="@+id/button7"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="@string/Blank" />

        <Button
            android:id="@+id/button8"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="@string/Blank" />

        <Button
            android:id="@+id/button9"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="@string/Blank" />
    </LinearLayout>

</LinearLayout>

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/layoutVerticalgame"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="14dp"
    android:text="@string/turn"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
    android:id="@+id/txtPlayerTurn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_centerHorizontal="true"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<Button
    android:id="@+id/button_reset"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtPlayerTurn"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="14dp"
    android:text="@string/reset" />

</RelativeLayout>

5 个答案:

答案 0 :(得分:0)

您在内部LinearLayout上错过了一个近角括号。这是一个固定版本:

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

    <LinearLayout
        android:id="@+id/layoutVerticalgame"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="25dp"
        android:orientation="vertical">

        <LinearLayout
            android:id="@+id/layoutHorizontalGame1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            <Button
                android:id="@+id/button1"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:text="@string/Blank" />

            <Button
                android:id="@+id/button2"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:text="@string/Blank" />

            <Button
                android:id="@+id/button3"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:text="@string/Blank" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/layoutHorizontalGame2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            <Button
                android:id="@+id/button4"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:text="@string/Blank" />

            <Button
                android:id="@+id/button5"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:text="@string/Blank" />

            <Button
                android:id="@+id/button6"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:text="@string/Blank" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/layoutHorizontalGame3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            <Button
                android:id="@+id/button7"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:text="@string/Blank" />

            <Button
                android:id="@+id/button8"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:text="@string/Blank" />

            <Button
                android:id="@+id/button9"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:text="@string/Blank" />
        </LinearLayout>

    </LinearLayout>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/layoutVerticalgame"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="14dp"
        android:text="@string/turn"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <TextView
        android:id="@+id/txtPlayerTurn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_centerHorizontal="true"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <Button
        android:id="@+id/button_reset"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/txtPlayerTurn"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="14dp"
        android:text="@string/reset" />

</RelativeLayout>

答案 1 :(得分:0)

您尚未正确关闭<LinearLayout>。在每次LinearLayout声明后,您都缺少>字符。

答案 2 :(得分:0)

添加结束&gt;到您的LinearLayout,其id为layoutHorizo​​ntalGame1,如下所示:

    <LinearLayout
    android:id="@+id/layoutHorizontalGame1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

答案 3 :(得分:0)

这意味着您的XML文件中存在编译错误。

在您的情况下,您忘记使用“&gt;”

关闭某些LinearLayout标记

例如:

<LinearLayout
        android:id="@+id/layoutHorizontalGame2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

应该是:

<LinearLayout
        android:id="@+id/layoutHorizontalGame2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

答案 4 :(得分:0)

尽管已经回答了,但我找到的最佳答案是 - 在Eclipse中,打开出现此错误问题的XML文件,然后按键盘上的CTRL + SHIFT + F. 这将格式化您的文件,所有错误都消失了。