2011-01-11 2 views
1

J'essaie d'implémenter une vue personnalisée, pour laquelle je souhaite pouvoir passer des paramètres via un fichier de mise en page XML. La prise est que ces paramètres seront plus ou moins arbitraires; ils seront éventuellement utilisés comme paramètres pour construire une URL (il n'est pas utile de construire et de maintenir une liste complète de paramètres valides). En tant que tel, la méthode dans l'exemple de code ApiDemos n'est pas nécessairement appropriée, étant donné que je ne connais pas les noms des paramètres.Passer des paramètres XML à des vues personnalisées

Ce que j'ai essayé de faire est la suivante:

public Chart(Context context, AttributeSet attributes) { 
    super(context, attributes); 
    params = new HashMap<String, String>(); 

    for(int i = 0; i < attributes.getAttributeCount(); i++) 
     params.put(attributes.getAttributeName(i), attributes.getAttributeValue(i)); 
} 

Cela peut ne pas être la meilleure façon d'aller à ce sujet .. mais la question principale est de savoir comment je dois-je filtrer android: attributs (c'est-à-dire je ne veux pas android: layout_height, etc pour être dans params)?

Répondre

0

J'ai trouvé un moyen de le faire en utilisant une version surchargée de getAttributeValue(). Toujours ouvert pour l'entrée s'il y a une meilleure façon de le faire.

+0

En fait, j'ai peut-être besoin d'une meilleure solution. Il ne semble pas que je puisse utiliser des styles si je fais les choses de cette façon .. – Adam

Questions connexes