Cosa unbound prefisso dire, quando il parsing di XML?

Ho fatto un file xml nella mia app android per il Widget Personalizzato e l’errore è:

Errore di parsing XML: unbound prefisso

Ecco il mio file xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.example.CustomWidget.MyView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"

        android:id="@+id/surface"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:layout_weight="1"/>

</LinearLayout>

com.example.CustomWidget è il nome del mio pacchetto e MyView è il nome del mio file di classe in cui ho fatto il custom Widget.

  • La riga di comando che si lamentano? E perché stai dichiarando il xmlns:android spazio dei nomi di due volte?
InformationsquelleAutor Parth | 2011-06-13

 

3 Replies
  1. 24

    Seconda dello spazio dei nomi XML è corretto però è lo spazio dei nomi del widget personalizzato quindi è necessario definire il nome di spazio appropriato:

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

    diventa:

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

    Successivamente ogni attributo personalizzato elementi di definire per la visualizzazione personalizzata sarà indicato come:

    mynamespace:my_defined_attribute="success"
    

    invece di :

    android:layout_width="fill_parent"
    
  2. 5

    Nel file XML, è necessario aggiungere una riga:

    <LinearLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res/com.myproject.winedeals"
     .....
     .....>
  3. 0

    Prendere la seconda dichiarazione di Namespace XML out:

     <?xml version="1.0" encoding="utf-8"?>
     <LinearLayout
       xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="match_parent"
       android:layout_height="match_parent">
       <com.example.CustomWidget.MyView
         android:id="@+id/surface
         android:layout_width="fill_parent"
         android:layout_height="fill_parent" 
         android:layout_weight="1"
         android:focusable="true"
         android:focusableInTouchMode="true"  />
    </LinearLayout>
    

Lascia un commento