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

当前回答

如果您没有正确地包含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元素是在这个名称空间中声明的。它与导入类或包相同。

对于新手和像我这样不了解XML的人,我将多讲一些内容。

上面的答案非常好,但是一般的答案是您需要为config.xml文件中使用的任何名称空间设置一个名称空间。

翻译:任何XML标记名都是带有名称空间的标记,其中blah是名称空间,fubar是XML标记。名称空间允许您使用许多不同的工具来解释带有自己标记名称的XML。例如,Intel XDK使用的命名空间为intelxdk, android使用的命名空间为android。因此,您需要以下名称空间,否则构建会引发流血(即解析XML错误:未绑定的前缀),这将被翻译为:您使用了一个名称空间,但没有定义它。

  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:intelxdk="http://xdk.intel.com/ns/v1"

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

我在使用Xamarin时出现了这个错误

  <android.support.v7.widget.CardView  
    android:layout_width="match_parent"  
    android:layout_height="wrap_content"  
    card_view:cardElevation="4dp"  
    card_view:cardCornerRadius="5dp"  
    card_view:cardUseCompatPadding="true">  
  </android.support.v7.widget.CardView>

在布局文件中,不安装nuget包

安装适用的nuget包解决了这个问题。希望有帮助,我在列表中没有看到这个答案

除了所有这些,还有一个场景,这个错误发生-

当你或你的库项目定义自定义属性int attrx .xml,你使用这些属性在你的布局文件没有定义命名空间。

通常我们在布局文件的头文件中使用这个命名空间定义。

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

然后确保文件中的所有属性都以

android:ATTRIBUTE-NAME

你需要识别你的一些属性是否以android:ATTRIBUTE-NAME以外的东西开始

temp:ATTRIBUTE-NAME

在本例中,您还将这个“temp”作为名称空间,通常包括-

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