为标签 LinearLayout 找到了意外的命名空间前缀“xmlns”

Posted

技术标签:

【中文标题】为标签 LinearLayout 找到了意外的命名空间前缀“xmlns”【英文标题】:Unexpected namespace prefix "xmlns" found for tag LinearLayout 【发布时间】:2013-02-01 17:21:02 【问题描述】:

我在关注 xml 文件时出错。 “”。我也尝试了其他类似问题中提供的解决方案,但它对我不起作用。在使用 LinearLayout 的 3 行中发生了相同的错误。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:background="@drawable/background" >

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_
        android:layout_
        android:orientation="vertical" >

        <TextView
            android:id="@+id/menu_top_text"
            android:layout_
            android:layout_
            android:text="@string/name_version"
            android:textColor="@color/black"
            android:textSize="20sp" />

        <LinearLayout
            android:layout_
            android:layout_
            android:orientation="horizontal" >
        </LinearLayout>

        <!-- A horizontal line -->

        <FrameLayout
            android:layout_
            android:layout_ >
        </FrameLayout>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_
            android:layout_
            android:gravity="center_horizontal"
            android:orientation="vertical" >

            <LinearLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_
                android:layout_
                android:gravity="center"
                android:orientation="horizontal" >

                <Button
                    android:id="@+id/start_stop_button"
                    android:layout_
                    android:layout_
                    android:text="@string/start_server" />

                <Button
                    android:id="@+id/instructions"
                    android:layout_
                    android:layout_
                    android:text="@string/instructions_label" />

                <Button
                    android:id="@+id/setup"
                    android:layout_
                    android:layout_
                    android:text="@string/setup_label" />
            </LinearLayout>
        </LinearLayout>

        <FrameLayout
            android:layout_
            android:layout_ >
        </FrameLayout>

        <!-- A horizontal line -->

        <FrameLayout
            android:layout_
            android:layout_
            android:background="#666666" >
        </FrameLayout>

        <FrameLayout
            android:layout_
            android:layout_ >
        </FrameLayout>

        <TableLayout
            android:layout_
            android:layout_
            android:shrinkColumns="2" >

            <TableRow>

                <TextView
                    android:layout_
                    android:layout_
                    android:gravity="left"
                    android:text="@string/server_status"
                    android:textColor="@color/black"
                    android:textSize="16sp" />
                <!-- A small spacer between the columns -->

                <FrameLayout
                    android:layout_
                    android:layout_ />

                <TextView
                    android:id="@+id/server_status"
                    android:layout_
                    android:layout_
                    android:text="@string/unknown"
                    android:textColor="@color/black"
                    android:textSize="16sp" />
            </TableRow>
        </TableLayout>

        <FrameLayout
            android:layout_
            android:layout_ >
        </FrameLayout>

        <!-- A horizontal line -->

        <FrameLayout
            android:layout_
            android:layout_
            android:background="#666666" >
        </FrameLayout>

        <FrameLayout
            android:layout_
            android:layout_ >
        </FrameLayout>

        <TableLayout
            android:layout_
            android:layout_
            android:shrinkColumns="2" >

            <TableRow>

                <TextView
                    android:layout_
                    android:layout_
                    android:gravity="left"
                    android:text="@string/my_url_is"
                    android:textColor="@color/black"
                    android:textSize="16sp" />
                <!-- A small spacer between the columns -->

                <FrameLayout
                    android:layout_
                    android:layout_ />

                <TextView
                    android:id="@+id/ip_address"
                    android:layout_
                    android:layout_
                    android:text="@string/no_url_yet"
                    android:textColor="@color/black"
                    android:textSize="16sp" />
            </TableRow>

            <TableRow>

                <TextView
                    android:layout_
                    android:layout_
                    android:gravity="left"
                    android:text="@string/wifi_status"
                    android:textColor="@color/black"
                    android:textSize="16sp" />
                <!-- A small spacer between the columns -->

                <FrameLayout
                    android:layout_
                    android:layout_ />

                <TextView
                    android:id="@+id/wifi_status"
                    android:layout_
                    android:layout_
                    android:text="@string/unknown"
                    android:textColor="@color/black"
                    android:textSize="16sp" />
            </TableRow>

            <TableRow>

                <TextView
                    android:id="@+id/last_error_label"
                    android:layout_
                    android:layout_
                    android:gravity="left"
                    android:text="@string/last_error"
                    android:textSize="16sp"
                    android:visibility="gone" />
                <!-- A small spacer between the columns -->

                <FrameLayout
                    android:layout_
                    android:layout_ />

                <TextView
                    android:id="@+id/last_error"
                    android:layout_
                    android:layout_
                    android:text="@string/unknown"
                    android:textColor="#ff0000"
                    android:textSize="16sp"
                    android:visibility="gone" />
            </TableRow>
        </TableLayout>

        <FrameLayout
            android:layout_
            android:layout_ >
        </FrameLayout>

        <!-- A horizontal line -->

        <FrameLayout
            android:layout_
            android:layout_
            android:background="#666666" >
        </FrameLayout>

        <!--
          <TextView android:id="@+id/proxy_header"
        android:layout_
        android:layout_
        android:text="@string/proxy_experimental"
        android:textSize="16sp"
        />
        -->

        <TableLayout
            android:layout_
            android:layout_
            android:shrinkColumns="2" >

            <TableRow>

                <!--
                 <TextView
                android:layout_
                android:layout_
                android:text="@string/proxy_status"
                android:textSize="16sp"
                android:gravity="left"
                />
                -->
                <!-- A small spacer between the columns -->

                <FrameLayout
                    android:layout_
                    android:layout_ />
            </TableRow>

            <TableRow>

                <!-- A small spacer between the columns -->

                <FrameLayout
                    android:layout_
                    android:layout_ />
            </TableRow>

            <TableRow>

                <!-- A small spacer between the columns -->

                <FrameLayout
                    android:layout_
                    android:layout_ />
            </TableRow>

            <TableRow>

                <!-- A small spacer between the columns -->

                <FrameLayout
                    android:layout_
                    android:layout_ />
            </TableRow>
        </TableLayout>

        <!-- A horizontal line -->

        <FrameLayout
            android:layout_
            android:layout_
            android:background="#666666" >
        </FrameLayout>

        <!-- A horizontal line -->

        <FrameLayout
            android:layout_
            android:layout_
            android:background="#666666" >
        </FrameLayout>

        <LinearLayout
            android:layout_
            android:layout_
            android:orientation="horizontal"
            android:visibility="gone" >

            <TextView
                android:layout_
                android:layout_
                android:text="@string/server_log"
                android:textColor="#ffffff" />

            <CheckBox
                android:id="@+id/server_log_checkbox"
                android:layout_
                android:layout_
                android:checked="false" />
        </LinearLayout>

        <TextView
            android:id="@+id/server_log"
            android:layout_
            android:layout_
            android:background="#333333" />

        <!-- A horizontal line -->

        <FrameLayout
            android:layout_
            android:layout_
            android:background="#666666"
            android:visibility="gone" >
        </FrameLayout>

        <LinearLayout
            android:layout_
            android:layout_
            android:orientation="horizontal"
            android:visibility="gone" >

            <TextView
                android:layout_
                android:layout_
                android:text="@string/session_monitor"
                android:textColor="#ffffff"
                android:visibility="gone" />

            <CheckBox
                android:id="@+id/session_monitor_checkbox"
                android:layout_
                android:layout_
                android:checked="false"
                android:visibility="gone" />
        </LinearLayout>

        <TextView
            android:id="@+id/session_monitor"
            android:layout_
            android:layout_
            android:background="#333333"
            android:visibility="gone" />

        <!-- A horizontal line -->

        <FrameLayout
            android:layout_
            android:layout_
            android:background="#666666" >
        </FrameLayout>

        <!-- It's visually pleasing to have some empty space at the bottom -->

        <FrameLayout
            android:layout_
            android:layout_ />
    </LinearLayout>

</ScrollView>

【问题讨论】:

【参考方案1】:

请尝试以下操作:

从除ScrollView 之外的所有位置中删除xmlns:android="http://schemas.android.com/apk/res/android。我相信在 xml 文件的最外层布局或视图中通知应用程序一次就足够了。

【讨论】:

解析器拒绝重复的命名空间声明是非常奇怪的(并且不符合标准)。这是哪个 XML 解析器? 先生,如何查看正在使用的解析器?我一直在使用 Eclipse ADT 包附带的默认解析器。 谢谢,将 xmlns 行留在主线性布局中,并将其从其余嵌套布局中删除。【参考方案2】:

我用各种代码多次遇到这个问题。

这些代码过去运行得非常好,但现在它们显示这些错误......

我找到了一个非常简单的解决方案,不需要任何代码更改(添加、编辑或删除)。

转到选项卡上的项目选项卡 单击选项卡 从列表中选择“清理....”

您将看到在您的工作空间中打开的所有项目的列表。

您可以选择一个项目或全部(我通常会“清理所有项目”)。 单击确定。 对于大约 10 个项目,该过程大约需要 5-7 秒。 所有 XMLNS 错误都已解决... 在尝试任何其他解决方案之前,您应该先尝试一下...... 这就像为 Window 的错误重新启动系统一样,它可以解决 70% 的问题...

上述解决方案更像是一种适用于所有情况的临时解决方案。 为了避免以后出现这种情况,我把所有的 xmlns 代码放在一起。 (可能有重复的语句,可能需要删除)

我在 XML 文件上集成 Admob 时遇到了这个问题。

【讨论】:

当然。这是人们应该尝试的第一件事。多次清理项目工作和其他一些解决方案建议相同。但是,即使在那之后它对我也不起作用,并且删除了那条线。 如果您甚至不想等待项目清理时间,请在 eclispe 中打开问题视图,选择来自 xml 命名空间的错误并删除它们(按 Canc 或在上下文菜单中选择删除) .有趣的日食,不是吗? 大家好,上面的解决方案与我不匹配,但这个解决方案非常完美,效果很好......非常感谢@Sudhir ..【参考方案3】:

在 Android xml 文件中,Android 命名空间可以:

只能声明一次 只能在 xml 层次结构的顶部('外部')Android View 中声明

否则您将在构建项目时收到错误消息。在您的情况下,顶部的 Android 视图是 ScrollView,所以请保留

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

ScrollView 中,并将其从所有其他嵌套的Views 中删除,包括LinearLayout

【讨论】:

【参考方案4】:

对于突然看到此消息出现的人,Sudhir 的评论应该是公认的答案。我认为英语不是 那么 好:所以如果你挣扎:在 eclipse 中去到 project 菜单点击 clean... 并选择 clean all projects 这将在之前丢失的情况下删除随机出现的消息

【讨论】:

就我而言,@Shobhit 的回答是正确的。 Sudhir 关于进行全面清理/重建的建议虽然有效,但对大多数用户来说太明显了。 我同意@DavidManpearl,Sudhir 的回答是一种解决方法,Shobhit 的回答是一种永久的解决方案【参考方案5】:

我认为删除不需要的行是一种更合适的方式,因为:

1) 清理项目只会解决一次问题。如果你再次启动项目或从另一个文件切换到这个 xml 文件,它会再次显示错误。

2) 更重要的是,“xmlns:XXX”应该是第一个节点的属性。

【讨论】:

【参考方案6】:
xmlns:android="http://schemas.android.com/apk/res/android

去掉上面的标签

并保持

<fragment
..........
........
........
......../>

&lt;/fragment&gt;

【讨论】:

【参考方案7】:

为了让这个问题永远消失,而不会对源进行大规模更改(这会给版本跟踪带来噪音):

转到“问题”选项卡——右键单击消息——选择“快速修复”。 将出现一个窗口,您可以在其中告诉 Eclipse 忽略项目中的此问题(或仅在一个文件中,如果您愿意)。

之后,XML就可以编译好了。

【讨论】:

以上是关于为标签 LinearLayout 找到了意外的命名空间前缀“xmlns”的主要内容,如果未能解决你的问题,请参考以下文章

xml 中的 Android 谷歌地图片段。我得到“意外的命名空间前缀”

Android Lint 检查中的“命名空间未绑定”

部署Django+React到Heroku - 未捕获的语法错误。意外的标记'<'

意外的标记错误?

在 BigQuery 中加载 avro 文件 - 默认值的类型为意外类型。预期为 null,但找到字符串:“null”

.before 方法添加了意外的关闭标签