problemas frecuentes que surgen en la vista de Android, Error al analizar XML: prefijo no vinculado

Tengo un problema frecuente en la vista de Android, Error parsing XML: unbound prefix on Line 2 .

          

Un par de razones por las que esto puede suceder:

1) Ve este error con un espacio de nombres incorrecto, o un error tipográfico en el atributo. Como ‘xmlns’ es incorrecto, debería ser xmlns:android

2) El primer nodo debe contener: xmlns:android="http://schemas.android.com/apk/res/android"

3) Si está integrando parámetros personalizados de verificación de AdMob como anuncios: adSize, necesita

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

4) Si está utilizando LinerLayout, es posible que tenga que definir las herramientas

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

Voy a agregar una respuesta por separado solo porque no la veo aquí. No es 100% lo que pidió Pentium10, pero terminé aquí buscando Error parsing XML: unbound prefix

Resulta que estaba usando parámetros personalizados para anuncios de AdMob como ads:adSize , pero no había agregado

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

al diseño. Una vez que lo agregué, funcionó muy bien.

Yo tuve el mísmo problema.

Asegúrese de que el prefijo (android: [lo que sea]) esté escrito correctamente y escrito correctamente. En el caso de la línea xmlns:android="http://schemas.android.com/apk/res/android" asegúrese de tener el prefijo completo xmlns:android y de que está escrito correctamente. Lo mismo con cualquier otro prefijo: asegúrese de que estén escritos correctamente y tengan android:[name] . Esto es lo que resolvió mi problema.

Como mencionas, necesitas especificar el espacio de nombres correcto . También ve este error con un espacio de nombre incorrecto.

 < ?xml version="1.0" encoding="utf-8"?>  

no trabajará.

Cambio:

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

a

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

El mensaje de error se refiere a todo lo que comienza con “android:” ya que el XML no sabe qué es el espacio de nombres ” android: “.

xmlns:android define.

Este error puede ocurrir en el caso de que utilice un prefijo no definido como, por ejemplo:

    

El comstackdor de Android no sabe qué es XYZ ya que aún no está definido.

En su caso, debe agregar a continuación define al nodo raíz del archivo xml.

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

error de prefijo unbound para el Indicador de ViewPager:

Junto con las siguientes tags de encabezado en parentLayout:

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

También agregue:

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

Esto hizo el truco para mí.

Para mí, obtuve el error de “prefijo unbound” en la primera línea aquí, aunque había escrito mal a Android en la cuarta línea.

  

Tuve el mismo problema y descubrí que la solución era agregar Android: herramientas al primer nodo. En mi caso, es un LineraLayout:

   

Voy a agregar un poco más para los novatos y para las personas, como yo, que no entienden XML.

Las respuestas anteriores son bastante buenas, pero la respuesta general es que necesita un espacio de nombres para cualquier espacio de nombres utilizado en el archivo config.xml.

Traducción: Cualquier nombre de etiqueta XML que tenga es una etiqueta con un espacio de nombres donde blah es el espacio de nombres y fubar es la etiqueta XML. El espacio de nombre le permite usar muchas herramientas diferentes para interpretar el XML con sus propios nombres de etiqueta. Por ejemplo, Intel XDK usa el espacio de nombres intelxdk y Android usa Android. Por lo tanto, necesita los siguientes espacios de nombres o la comstackción arroja sangre (es decir, Error al analizar XML: prefijo unbound), que se traduce en: Usó un espacio de nombres, pero no lo definió.

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

Este error generalmente ocurre si no ha incluido las xmlns:mm correctamente, ocurre generalmente en la primera línea de código.

para mí fue …

xmlns: mm = “http://millennialmedia.com/android/schema”

que me perdí en la primera línea del código

  

En mi caso, el error no fue causado por ninguno de los problemas de espacio de nombres xml anteriores. En cambio, era la ubicación del atributo android:id tenía que ser el primer elemento en la statement del elemento en particular.

Así que esto:

  

… necesitaba leer así:

  

Además de todo esto, también hay un escenario donde este error ocupa-

Cuando usted o su proyecto de biblioteca definen el atributo personalizado int attr.xml, y usa estos atributos en su archivo de diseño sin definir el espacio de nombres.

En general, utilizamos esta definición de espacio de nombres en el encabezado de nuestro archivo de diseño.

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

Luego, asegúrese de que todos los atributos en su archivo comiencen con

 android:ATTRIBUTE-NAME 

Necesitas identificar si alguno de tus mensajes no comienza con algo más que Android: NOMBRE DEL ATRIBUTO

 temp:ATTRIBUTE-NAME 

En este caso, tiene esta “temperatura” también como espacio de nombres, generalmente al incluir

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

Solo necesita agregar espacio de nombre adecuado en su etiqueta raíz. xmlns: android = “http://schemas.android.com/apk/res/android” Elemets de Android se declaran en este espacio de nombre. Igual que importar clase o paquete.

Por lo general, me pasa cuando escribo mal android, simplemente escribo andorid o similar, y no es obvio a primera vista, especialmente después de muchas horas de progtwigción, así que solo busco “android” uno por uno y veo si la búsqueda se salta uno etiqueta – si lo hace, entonces lo miro de cerca y veo dónde estaba el error tipográfico.