frequent issues arising in android view, Error parsing XML: unbound prefix
I have frequent problem in android view, 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>
A couple of reasons that this can happen:
1) You see this error with an incorrect namespace, or a typo in the attribute. Like 'xmlns' is wrong, it should be xmlns:android
2) First node needs to contain:
xmlns:android="http://schemas.android.com/apk/res/android"
3) If you are integrating AdMob, check custom parameters like ads:adSize
, you need
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
4) If you are using LinearLayout
you might have to define tools:
xmlns:tools="http://schemas.android.com/tools"
I'm going to add a separate answer just because I don't see it here. It's not 100% what Pentium10 asked for, but I ended up here by searching for Error parsing XML: unbound prefix
Turns out I was using custom parameters for AdMob ads like ads:adSize
, but I hadn't added
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
to the layout. Once I added it it worked great.
I had this same problem.
Make sure that the prefix (android:[whatever]) is spelled correctly and written correctly. In the case of the line xmlns:android="http://schemas.android.com/apk/res/android"
make sure that you have the full prefix xmlns:android
and that it is spelled correctly. Same with any other prefixes - make sure they are spelled correctly and have android:[name]
. This is what solved my problem.
As you mention, you need to specify the right namespace. You also see this error with an incorrect namespace.
<?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">
will not work.
Change:
xmlns="http://schemas.android.com/apk/res/android"
to
xmlns:android="http://schemas.android.com/apk/res/android"
The error message is referring to everything that starts "android:" as the XML does not know what the "
android:
" namespace is.
xmlns:android
defines it.