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

当前回答

出现这种情况的几个原因:

1)您看到这个错误带有不正确的名称空间,或者属性中有一个错别字。就像'xmlns'是错误的,它应该是xmlns:android

2)第一个节点需要包含: xmlns: android = " http://schemas.android.com/apk/res/android "

3)如果你正在整合AdMob,检查自定义参数,如ads:adSize,你需要

xmlns:ads=“http://schemas.android.com/apk/lib/com.google.ads”

4)如果你使用线性布局,你可能需要定义工具:

xmlns: tools = http://schemas.android.com/tools”

其他回答

我遇到了同样的问题,发现解决方案是在第一个节点上添加android:tools。在我的例子中,它是一个LineraLayout:

    <LinearLayout 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" 
    android:orientation="vertical">

在我的例子中,错误不是由上述任何xml名称空间问题引起的。相反,它是android:id属性的位置——它需要是特定元素声明中的第一项。

所以这个:

<TextView android:layout_width="fill_parent" 
      android:layout_height="wrap_content"
      android:id="@+id/bottomtext" 
      android:singleLine="true" />

... 需要这样读:

<TextView android:id="@+id/bottomtext" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"
      android:singleLine="true" />

您只需要在根标记中添加适当的名称空间。 xmlns: android = " http://schemas.android.com/apk/res/android " 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包解决了这个问题。希望有帮助,我在列表中没有看到这个答案

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