3

我在许多地图示例中遇到过这样的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <fragment
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.SupportMapFragment" />

</RelativeLayout>

但是,对于他们所有人来说,我得到了错误

描述资源路径位置类型为标签片段activity_msmap.xml/example/res/layout第8行找到意外的命名空间前缀“xmlns” Android Lint 问题

在线

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

所以...这里发生了什么?我在任何地方的示例中都可以看到它,但它会在我的 Eclipse/Android 中导致错误?另外,为什么在父元素中也定义了相同的 xml 命名空间?

4

1 回答 1

8

您不能在 xml 布局中定义命名空间两次。只需从您的片段中删除它,RelativeLayout 已经定义了 xmlns:android 命名空间。

<fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.SupportMapFragment" />
于 2013-03-09T02:03:40.247 回答