309 votes

problème fréquent dans la vue Android, Erreur d'analyse XML: préfixe non lié

J'ai un problème fréquent dans la vue 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>
 

573voto

Pentium10 Points 68884

Un couple de raisons que cela peut arriver:

1) Vous voyez cette erreur avec un espace de noms incorrect ou une faute de frappe dans l'attribut. Comme 'xmlns' est faux, il devrait être xmlns:android

2) Le premier noeud doit contenir: xmlns:android="http://schemas.android.com/apk/res/android"

3) Si vous intégrez AdMob, vérifiez les paramètres personnalisés comme les annonces: adSize, vous devez

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

4) Si vous utilisez LinerLayout, vous devrez peut-être définir des outils

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

101voto

MalcolmOcean Points 1288

Je vais ajouter une réponse distincte, tout simplement parce que je ne vois pas ici. Il n’est pas 100 %, ce qui Pentium10 a demandé, mais j’ai retrouvé ici en recherchant``

Il s’avère que j’utilisais des paramètres personnalisés pour les annonces AdMob comme `` , mais je n’avais pas ajouté

pour la mise en page. Une fois que je l’ai ajouté il fonctionnait très bien.

64voto

Daniel Points 939

J’ai eu ce même problème.

Assurez-vous que le préfixe (android:[whatever]) est correctement orthographié et écrit correctement. Dans le cas de la ligne Assurez-vous que vous avez le préfixe complet et qu’elle est correctement orthographiée. Même chose avec n’importe quel autres préfixes - Assurez-vous qu’ils soient corrects et ont `` . C’est ce qui a résolu mon problème.

33voto

VonC Points 414372

Comme vous le mentionnez, vous devez spécifier le droit de l'espace de noms. Vous pouvez également voir cette erreur avec un espace de noms incorrect.

<?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">

ne fonctionnera pas.

Changement:

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

pour

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

Le message d'erreur fait référence à tout ce qui commence "android:" comme le XML ne sais pas ce que le "android:" espace de noms est.

xmlns:android le définit.

23voto

Nguyen Minh Binh Points 6438

Cette erreur peut se produire, dans le cas, vous utilisez le préfixe non défini tel que :

Compilateur Android ne sait pas ce qui est XYZ, puisqu’il n’était pas encore défini.

Dans votre cas, vous devez ajouter ci-dessous définissent au nœud racine du fichier xml.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X