7

为什么为标签片段找到了意外的命名空间前缀“xmlns” 为标签片段找到了
意外的命名空间前缀“map”?

<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=".Main">

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:map="http://schemas.android.com/apk/res-auto"
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.MapFragment"

        map:mapType="satellite"/>
</RelativeLayout>

为什么为标签片段找到了意外的命名空间前缀“xmlns” 为标签片段找到了意外的命名空间前缀“map”?

4

3 回答 3

18

xmlns:android="http://schemas.android.com/apk/res/android"从元素中移除<fragment>,并考虑xmlns:map="http://schemas.android.com/apk/res-auto"<fragment>元素移动到根元素。

例如,这是有效的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:id="@+id/foo"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.SupportMapFragment"
        map:mapType="satellite"/>

</RelativeLayout>
于 2013-05-09T11:43:03.353 回答
2

显然这只是一个误导性的 Lint 检查错误。当您在 Eclipse 的问题视图中右键单击有错误的行,选择快速修复选项并选择例如Ignore Check for project时,您可以将其删除。

错误消失,项目构建并且应用程序运行良好。

于 2014-03-03T18:00:38.973 回答
0

尝试这个

 <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"

于 2013-05-09T11:45:20.537 回答