在android视图中出现频繁的问题,parsingXML时出错:未绑定的前缀
我在Android视图中经常遇到问题,在Error parsing XML: unbound prefix on Line 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)你看到这个错误的命名空间不正确,或者在属性中input错误。 像“xmlns”是错误的,它应该是xmlns:android
2)第一个节点需要包含: xmlns:android="http://schemas.android.com/apk/res/android"
3)如果您要集成AdMob检查自定义参数(如ad:adSize),则需要
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
4)如果你正在使用LinerLayout,你可能需要定义工具
xmlns:tools="http://schemas.android.com/tools"
我要添加一个单独的答案,因为我没有看到它在这里。 这不是Pentium 10所要求的100%,但是我最终通过searchError parsing XML: unbound prefix
原来,我使用AdMob广告的自定义参数,如ads:adSize
,但我没有添加
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
到布局。 一旦我添加它,它工作得很好。
我有这个相同的问题。
确保前缀(android:[whatever])拼写正确,写入正确。 在行xmlns:android="http://schemas.android.com/apk/res/android"
的情况下,请确保您有完整的前缀xmlns:android
,并且拼写正确。 与任何其他前缀相同 – 确保拼写正确,并具有android:[name]
。 这是什么解决了我的问题。
正如你所提到的,你需要指定正确的命名空间 。 你也看到这个错误的命名空间不正确。
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dip">
不pipe用。
更改:
xmlns="http://schemas.android.com/apk/res/android"
至
xmlns:android="http://schemas.android.com/apk/res/android"
错误消息是指所有以“android:”开头的内容,因为XML不知道“
android:
”命名空间是什么。
xmlns:android
定义它。
在使用未定义的前缀的情况下,可能会发生此错误,例如:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TabHost XYZ:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" > </TabHost>
由于尚未定义,Android编译器不知道XYZ是什么。
你的情况,你应该添加下面的定义到xml文件的根节点。
xmlns:android="http://schemas.android.com/apk/res/android"
ViewPager指标的未绑定前缀错误:
在您的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"
这为我做了诡计。
对我来说,我在这里第一行得到了“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" >
我有同样的问题,并发现解决scheme是将android:工具添加到第一个节点。 在我的情况下,这是一个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的人们多投一些。
上面的答案相当不错,但一般的答案是,你需要在config.xml文件中使用的任何命名空间的命名空间。
翻译:任何XML标签名称都是带有名称空间的标签,其中blah是名称空间,fubar是XML标签。 命名空间使您可以使用许多不同的工具来用自己的标签名称来解释XML。 例如,英特尔XDK使用名称空间intelxdk和android使用android。 因此,您需要以下命名空间或构build引发血液(即parsingXML的错误:未绑定的前缀),它被转换为:您使用了一个命名空间,但没有定义它。
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:intelxdk="http://xdk.intel.com/ns/v1"
如果您没有正确包含xmlns:mm
,则通常会出现此错误,通常会出现在第一行代码中。
对我来说这是..
的xmlns:毫米= “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" >
在我的情况下,错误不是由上述的任何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" />
除此之外,还有一个这种错误发生的场景 –
当你或你的库项目定义自定义属性int attr.xml时,你可以在布局文件中使用这些属性而不用定义名称空间。
通常我们在布局文件的头文件中使用这个名称空间定义。
xmlns:android="http://schemas.android.com/apk/res/android"
然后确保文件中的所有属性都应该以
android:ATTRIBUTE-NAME
你需要确定如果你的一些attirbute不是从android:ATTRIBUTE-NAME之外的东西开始
temp:ATTRIBUTE-NAME
在这种情况下,你有这个“临时”也作为命名空间,通常包括 –
xmlns:temp="http://schemas.android.com/apk/res-auto"
您只需要在根标记中添加适当的名称空间。 xmlns:android =“http://schemas.android.com/apk/res/android”Android元素在这个名字空间中声明,与导入类或包相同。;
当我拼错android时,通常会发生这种情况 – 我只是input了ororid或类似的内容,特别是在编程几个小时之后,一见钟情并不明显,所以我只是逐个search“android”,看看search是否跳过一个标签 – 如果有的话,我仔细看看,看看哪里是错字。