解析XML时出错:库上的未绑定前缀

时间:2013-09-18 11:27:15

标签: android xml

我在项目中使用了三个库:

a. ViewPager
b. SherlockActionBar
c. PagerSlidingTabStrip

在我的布局xml中,我在这里得到以下error parsing XML

<com.astuetz.viewpager.extensions.PagerSlidingTabStrip
    android:id="@+id/strips"
    android:layout_width="match_parent"
    android:layout_height="48dip"
    app:indicatorColor="#FF9326"
    app:textAllCaps="false" />

我实现的库与项目中使用的其他两个库相同。另外两个库运行顺利。错误仅存在于此内。请帮忙。

完整布局xml:

<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainSlider" >

    <com.astuetz.viewpager.extensions.PagerSlidingTabStrip
        android:id="@+id/strips"
        android:layout_width="match_parent"
        android:layout_height="48dip"
        app:indicatorColor="#FF9326"
        app:textAllCaps="false" />

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

</LinearLayout>

我已经尝试过清理项目,将库重新添加到工作区等等。

6 个答案:

答案 0 :(得分:64)

尝试使用res-auto xmlns架构添加自定义属性引用

<LinearLayout 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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainSlider" >

    <com.astuetz.viewpager.extensions.PagerSlidingTabStrip
        android:id="@+id/strips"
        android:layout_width="match_parent"
        android:layout_height="48dip"
        app:indicatorColor="#FF9326"
        app:textAllCaps="false" />

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

</LinearLayout>

答案 1 :(得分:15)

添加

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

到xml的根布局。

答案 2 :(得分:1)

我的根XML元素没有LinearLayout 我有一个android.support.v4.view.ViewPager,因为我使用的是 AppCompat库

所以,这就是我的所作所为:
**我包含tools:context=".classname"行,Error parsing XML: unbound prefix来自({部分})。当你引用一个路径时,Eclipse / Studio在构建你的 xml layout

<强>解决方案:
我添加xmlns:tools="http://schemas.android.com/tools"指向ADT到我的tools位置,我们很高兴!

最终代码:

<android.support.v4.view.ViewPager 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/pager"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".home"
    />

答案 3 :(得分:0)

每个xml 的根元素必须包含:

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

您可以在之后使用android属性。

答案 4 :(得分:0)

已经有一个根元素

xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context="com.example.arifa.model.MainActivity"
android:weightSum="1">

答案 5 :(得分:0)

删除并再次添加:

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

然后清理并构建项目。