web-dev-qa-db-fra.com

Préfixe d'espace de nom inattendu "xmlns" trouvé pour la balise LinearLayout

Je rencontre une erreur en suivant un fichier XML. "Préfixe d'espace de nom inattendu" xmlns "trouvé pour la balise LinearLayout" . J'ai essayé les solutions fournies dans d'autres questions similaires, mais cela n'a pas fonctionné pour moi. La même erreur se produit sur 3 lignes où LinearLayout est utilisé.

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:background="@drawable/background" >

    <LinearLayout
        xmlns:Android="http://schemas.Android.com/apk/res/Android"
        Android:layout_width="fill_parent"
        Android:layout_height="fill_parent"
        Android:orientation="vertical" >

        <TextView
            Android:id="@+id/menu_top_text"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:text="@string/name_version"
            Android:textColor="@color/black"
            Android:textSize="20sp" />

        <LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:orientation="horizontal" >
        </LinearLayout>

        <!-- A horizontal line -->

        <FrameLayout
            Android:layout_width="fill_parent"
            Android:layout_height="30px" >
        </FrameLayout>

        <LinearLayout
            xmlns:Android="http://schemas.Android.com/apk/res/Android"
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:gravity="center_horizontal"
            Android:orientation="vertical" >

            <LinearLayout
                xmlns:Android="http://schemas.Android.com/apk/res/Android"
                Android:layout_width="fill_parent"
                Android:layout_height="wrap_content"
                Android:gravity="center"
                Android:orientation="horizontal" >

                <Button
                    Android:id="@+id/start_stop_button"
                    Android:layout_width="74dp"
                    Android:layout_height="74dp"
                    Android:text="@string/start_server" />

                <Button
                    Android:id="@+id/instructions"
                    Android:layout_width="120dp"
                    Android:layout_height="74dp"
                    Android:text="@string/instructions_label" />

                <Button
                    Android:id="@+id/setup"
                    Android:layout_width="74dp"
                    Android:layout_height="74dp"
                    Android:text="@string/setup_label" />
            </LinearLayout>
        </LinearLayout>

        <FrameLayout
            Android:layout_width="fill_parent"
            Android:layout_height="30px" >
        </FrameLayout>

        <!-- A horizontal line -->

        <FrameLayout
            Android:layout_width="fill_parent"
            Android:layout_height="1px"
            Android:background="#666666" >
        </FrameLayout>

        <FrameLayout
            Android:layout_width="fill_parent"
            Android:layout_height="10px" >
        </FrameLayout>

        <TableLayout
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:shrinkColumns="2" >

            <TableRow>

                <TextView
                    Android:layout_width="wrap_content"
                    Android:layout_height="wrap_content"
                    Android:gravity="left"
                    Android:text="@string/server_status"
                    Android:textColor="@color/black"
                    Android:textSize="16sp" />
                <!-- A small spacer between the columns -->

                <FrameLayout
                    Android:layout_width="3sp"
                    Android:layout_height="wrap_content" />

                <TextView
                    Android:id="@+id/server_status"
                    Android:layout_width="wrap_content"
                    Android:layout_height="wrap_content"
                    Android:text="@string/unknown"
                    Android:textColor="@color/black"
                    Android:textSize="16sp" />
            </TableRow>
        </TableLayout>

        <FrameLayout
            Android:layout_width="fill_parent"
            Android:layout_height="10px" >
        </FrameLayout>

        <!-- A horizontal line -->

        <FrameLayout
            Android:layout_width="fill_parent"
            Android:layout_height="1px"
            Android:background="#666666" >
        </FrameLayout>

        <FrameLayout
            Android:layout_width="fill_parent"
            Android:layout_height="10px" >
        </FrameLayout>

        <TableLayout
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:shrinkColumns="2" >

            <TableRow>

                <TextView
                    Android:layout_width="wrap_content"
                    Android:layout_height="wrap_content"
                    Android:gravity="left"
                    Android:text="@string/my_url_is"
                    Android:textColor="@color/black"
                    Android:textSize="16sp" />
                <!-- A small spacer between the columns -->

                <FrameLayout
                    Android:layout_width="3sp"
                    Android:layout_height="wrap_content" />

                <TextView
                    Android:id="@+id/ip_address"
                    Android:layout_width="wrap_content"
                    Android:layout_height="wrap_content"
                    Android:text="@string/no_url_yet"
                    Android:textColor="@color/black"
                    Android:textSize="16sp" />
            </TableRow>

            <TableRow>

                <TextView
                    Android:layout_width="wrap_content"
                    Android:layout_height="wrap_content"
                    Android:gravity="left"
                    Android:text="@string/wifi_status"
                    Android:textColor="@color/black"
                    Android:textSize="16sp" />
                <!-- A small spacer between the columns -->

                <FrameLayout
                    Android:layout_width="3sp"
                    Android:layout_height="wrap_content" />

                <TextView
                    Android:id="@+id/wifi_status"
                    Android:layout_width="wrap_content"
                    Android:layout_height="wrap_content"
                    Android:text="@string/unknown"
                    Android:textColor="@color/black"
                    Android:textSize="16sp" />
            </TableRow>

            <TableRow>

                <TextView
                    Android:id="@+id/last_error_label"
                    Android:layout_width="wrap_content"
                    Android:layout_height="wrap_content"
                    Android:gravity="left"
                    Android:text="@string/last_error"
                    Android:textSize="16sp"
                    Android:visibility="gone" />
                <!-- A small spacer between the columns -->

                <FrameLayout
                    Android:layout_width="3sp"
                    Android:layout_height="wrap_content" />

                <TextView
                    Android:id="@+id/last_error"
                    Android:layout_width="wrap_content"
                    Android:layout_height="wrap_content"
                    Android:text="@string/unknown"
                    Android:textColor="#ff0000"
                    Android:textSize="16sp"
                    Android:visibility="gone" />
            </TableRow>
        </TableLayout>

        <FrameLayout
            Android:layout_width="fill_parent"
            Android:layout_height="10px" >
        </FrameLayout>

        <!-- A horizontal line -->

        <FrameLayout
            Android:layout_width="fill_parent"
            Android:layout_height="1px"
            Android:background="#666666" >
        </FrameLayout>

        <!--
          <TextView Android:id="@+id/proxy_header"
        Android:layout_height="wrap_content"
        Android:layout_width="wrap_content"
        Android:text="@string/proxy_experimental"
        Android:textSize="16sp"
        />
        -->

        <TableLayout
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:shrinkColumns="2" >

            <TableRow>

                <!--
                 <TextView
                Android:layout_height="wrap_content"
                Android:layout_width="wrap_content"
                Android:text="@string/proxy_status"
                Android:textSize="16sp"
                Android:gravity="left"
                />
                -->
                <!-- A small spacer between the columns -->

                <FrameLayout
                    Android:layout_width="3sp"
                    Android:layout_height="wrap_content" />
            </TableRow>

            <TableRow>

                <!-- A small spacer between the columns -->

                <FrameLayout
                    Android:layout_width="3sp"
                    Android:layout_height="wrap_content" />
            </TableRow>

            <TableRow>

                <!-- A small spacer between the columns -->

                <FrameLayout
                    Android:layout_width="3sp"
                    Android:layout_height="wrap_content" />
            </TableRow>

            <TableRow>

                <!-- A small spacer between the columns -->

                <FrameLayout
                    Android:layout_width="3sp"
                    Android:layout_height="wrap_content" />
            </TableRow>
        </TableLayout>

        <!-- A horizontal line -->

        <FrameLayout
            Android:layout_width="fill_parent"
            Android:layout_height="1dp"
            Android:background="#666666" >
        </FrameLayout>

        <!-- A horizontal line -->

        <FrameLayout
            Android:layout_width="fill_parent"
            Android:layout_height="1dp"
            Android:background="#666666" >
        </FrameLayout>

        <LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:orientation="horizontal"
            Android:visibility="gone" >

            <TextView
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:text="@string/server_log"
                Android:textColor="#ffffff" />

            <CheckBox
                Android:id="@+id/server_log_checkbox"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:checked="false" />
        </LinearLayout>

        <TextView
            Android:id="@+id/server_log"
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:background="#333333" />

        <!-- A horizontal line -->

        <FrameLayout
            Android:layout_width="fill_parent"
            Android:layout_height="1dp"
            Android:background="#666666"
            Android:visibility="gone" >
        </FrameLayout>

        <LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:orientation="horizontal"
            Android:visibility="gone" >

            <TextView
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:text="@string/session_monitor"
                Android:textColor="#ffffff"
                Android:visibility="gone" />

            <CheckBox
                Android:id="@+id/session_monitor_checkbox"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:checked="false"
                Android:visibility="gone" />
        </LinearLayout>

        <TextView
            Android:id="@+id/session_monitor"
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:background="#333333"
            Android:visibility="gone" />

        <!-- A horizontal line -->

        <FrameLayout
            Android:layout_width="fill_parent"
            Android:layout_height="1dp"
            Android:background="#666666" >
        </FrameLayout>

        <!-- It's visually pleasing to have some empty space at the bottom -->

        <FrameLayout
            Android:layout_width="fill_parent"
            Android:layout_height="15dp" />
    </LinearLayout>

</ScrollView>
51
khushalbokadey

S'il vous plaît essayez de suivre:

Supprimez xmlns:Android="http://schemas.Android.com/apk/res/Android de tous les endroits à l'exception de la ScrollView. Je crois qu'il est suffisant de l'informer une fois de l'application et dans la disposition ou la vue la plus externe du fichier XML. 

83
Shobhit Puri

J'ai rencontré ce problème plusieurs fois avec différents codes. 

Les codes fonctionnaient parfaitement dans le passé, mais ils affichent maintenant ces erreurs ...

J'ai trouvé une solution très simple, ne nécessitant aucune modification de code (ajout, modification ou suppression).

Allez à l'onglet Projet sous l'onglet Cliquez sur l'onglet Sélectionnez le "Nettoyer ...." dans la liste.

Vous verrez la liste de tous les projets ouverts dans votre espace de travail.

Vous pouvez sélectionner un projet ou tous les projets (je n ’ai généralement l'habitude de" Nettoyer tous les projets ") . Cliquez sur OK . Le processus prend environ 5 à 7 secondes pour environ 10 projets. Toutes les erreurs XMLNS sont résolues ... Vous devriez essayer ceci avant d’essayer une autre solution .... C’est comme si vous redémarriez le système avec une erreur de Window qui résout les problèmes 70% des fois .. .

La solution ci-dessus est plus une solution temporaire fonctionnant dans toutes les situations ... Pour éviter la situation à l'avenir, je code tous les codes xmlns ensemble en haut. (il peut y avoir une déclaration en double qu'il peut être nécessaire de supprimer)

J'avais ce problème lors de l'intégration d'Admob dans le fichier XML.

43
Sudhir

Dans un fichier XML xml, l'espace de nom Android peut:

  • seulement être déclaré une fois
  • seulement être déclaré dans le haut ('extérieur') Android View dans la hiérarchie xml

ou vous recevrez une erreur lors de la construction du projet. Dans votre cas, la vue supérieure sur Android est la ScrollView, alors gardez

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

dans ScrollView et supprimez-le de tous les Views imbriqués, y compris LinearLayout.

6
Gunnar Karlsson

pour les personnes qui voient soudainement ce message apparaître, le commentaire de Sudhir devrait être la réponse acceptée .. l'anglais n'était pas que bien je pensais: donc si vous vous débattez: dans Eclipse, allez à project menu cliquez clean... et choisissez clean all projects cela supprimera l'apparence aléatoire de ceci en tant que message dans une situation où il était manquant avant

4
user26676

Je pense que supprimer la ligne inutile est un moyen plus approprié pour les raisons suivantes: 

1) Nettoyer le projet ne résoudra le problème qu'une fois. Et si vous relancez le projet ou passez d'un autre fichier à ce fichier XML, l'erreur sera à nouveau affichée. 

2) Plus important encore, "xmlns:XXX" devrait être la propriété du premier nœud.

1
lilingmzai

Pour que ce problème disparaisse une fois pour toutes sans modifications de masse dans la source (cela introduirait du bruit dans le suivi de version):

Allez dans l'onglet "Problèmes" - faites un clic droit sur le message - sélectionnez "Réparation rapide" . Une fenêtre apparaît où vous pouvez dire à Eclipse d'ignorer ce problème dans le projet (ou dans un seul fichier, si vous le souhaitez). ).

Après cela, le XML compilera ok.

0
xmlns:Android="http://schemas.Android.com/apk/res/Android

enlever la balise ci-dessus

et garde

<fragment
..........
........
........
......../>

ou </fragment>

0
user3040657