令人费解的Android xmlns错误

时间:2013-03-09 00:41:45

标签: android

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

<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>

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

  

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

在第

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

那么......这里发生了什么?我在各地的例子中看到它,但它导致我的Eclipse / Android出错?另外,为什么在父元素中也定义了相同的xml命名空间?

1 个答案:

答案 0 :(得分: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" />