2012-05-18 4 views
1

J'utilise ce widget https://github.com/erikwt/PullToRefresh-ListView et je voulais apporter des modifications. J'ai défini attrs.xml pour pouvoir contrôler la couleur du texte, etc. à partir de la définition XML. Cependant, mes attributs personnalisés ne sont pas reconnus (l'erreur est: Aucun identificateur de ressource trouvé pour l'attribut 'ptrContainerBackground' dans le paquet 'eu.erikw'). J'ai déjà utilisé mes vues personnalisées définies dans d'autres projets de bibliothèque et tout a bien fonctionné jusqu'à présent. Pourriez-vous s'il vous plaît aider à résoudre le problème?Les attributs XML personnalisés ne sont pas reconnus dans les fichiers de mise en page Android.

Voici mon attrs.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<declare-styleable name="eu.erikw.PullToRefreshListView"> 
    <attr name="ptrContainerBackground" format="integer"/> 
    <attr name="ptrArrow" format="integer"/> 
    <attr name="ptrTextColor" format="integer"/> 
    <attr name="ptrTextSize" format="integer"/> 
</declare-styleable>  
</resources> 

Et voici la définition de la vue dans le fichier de mise en page:

<eu.erikw.PullToRefreshListView xmlns:ptr="http://schemas.android.com/apk/res/eu.erikw" 
     android:id="@+id/lv_transactionsList" 
     ptr:ptrTextColor="@color/text_white_color" 
     ptr:ptrContainerBackground="@color/text_white_color" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:divider="@drawable/transactions_list_divider" 
     android:dividerHeight="1dip" 
     android:cacheColorHint="@color/stations_finder_item_bg"> 
</eu.erikw.PullToRefreshListView> 

Répondre

5

1) Essayez de nettoyer votre projet, et construire à nouveau, et/ou

2) vérifier si eu.erikw est le bon paquet dans

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

Cela devrait être

xmlns: ptr = "http: // schémas .android.com/apk/res/your_package_name

où your_package_name est votre package d'application défini dans votre AndroidManifest.xml

3) ne pas utiliser de point (s) dans

-styleable déclarer name = "eu.erikw.PullToRefreshListView">

car cela rendrait difficile de récupérer attrs dans le code Java.

Questions connexes