我在android视图中经常出现问题,错误解析XML:第2行未绑定前缀。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:id="@+id/myScrollLayout" 
android:layout_width="fill_parent"  android:layout_height="wrap_content">
    <TextView android:layout_height="wrap_content" android:layout_width="fill_parent" 
    android:text="Family" android:id="@+id/Family" 
    android:textSize="16px" android:padding="5px" 
    android:textStyle="bold" android:gravity="center_horizontal">
    </TextView>

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:orientation="vertical" android:scrollbars="vertical">
        <LinearLayout android:orientation="vertical" android:id="@+id/myMainLayout" 
        android:layout_width="fill_parent"  android:layout_height="wrap_content">
        </LinearLayout>
    </ScrollView>

</LinearLayout>

当前回答

当我拼错android时,通常会发生在我身上——我只是输入andorid或类似的东西,乍一看并不明显,尤其是在编程了好几个小时之后,所以我只是一个接一个地搜索“android”,看看搜索是否跳过了一个标签——如果是,那么我就仔细看看,看看哪里打错了。

其他回答

好吧,这里有很多解决方案,但实际上没有解释问题的根本原因,所以我们开始:

当你看到像android:layout_width="match_parent"这样的属性时,android部分是前缀,这里属性的格式是prefix:NAME="VALUE"。在XML中,命名空间和前缀是避免命名冲突的方法,例如,我们可以有两个具有相同名称但不同前缀的不同属性,如:a:a="val"和b:a="val"。

要使用android或app或任何其他前缀,您应该使用XMLNS属性定义一个名称空间。

所以如果你有这个问题,只要找到没有定义名称空间的前缀,如果你有工具:…你应该添加工具命名空间,如果你有app:…属性,您应该将xmlns:app="http://schemas.android.com/apk/res-auto"添加到根元素

进一步阅读:

XML命名空间简单解释

W3中的XML命名空间

对我来说,我在第一行得到了“unbound prefix”错误,尽管我在第四行拼错了android。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
anrdoid:fillViewport="true"
>

ViewPager指示器的unbound前缀错误:

在你的parentLayout中伴随着下面的头标签:

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

也添加:

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

这招对我很管用。

如果您没有正确地包含xmlns:mm,则通常会出现此错误,它通常出现在代码的第一行。

对我来说…

xmlns:mm=“http://millennialmedia.com/android/schema”

我在第一行代码中漏掉了

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:mm="http://millennialmedia.com/android/schema"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="50dp"
android:layout_marginBottom="50dp"
android:background="@android:color/transparent" >

您只需要在根标记中添加适当的名称空间。 xmlns: android = " http://schemas.android.com/apk/res/android " Android元素是在这个名称空间中声明的。它与导入类或包相同。