2011-01-11 17 views
1

Ich versuche, eine benutzerdefinierte Ansicht zu implementieren, für die ich Parameter über eine XML-Layoutdatei übergeben möchte. Der Haken ist, dass diese Parameter mehr oder weniger willkürlich sind; Sie werden schließlich als Parameter verwendet, um eine URL zu erstellen (es lohnt sich nicht, eine vollständige Liste gültiger Parameter zu erstellen und zu verwalten).Übergeben von XML-Parametern an benutzerdefinierte Ansichten

Daher ist die Methode in ApiDemos Beispielcode nicht unbedingt angemessen, da ich die Namen der Parameter nicht kenne.

Was ich versucht habe zu tun, sind die folgenden:

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)); 
} 

Dies kann nicht der beste Weg, um dies zu realisieren .. aber das Hauptproblem ich habe, ist, wie ich android filtere aus: Attribute (dh ich will nicht android: layout_height usw. in params sein)?

Antwort

0

Einen Weg gefunden, dies zu tun, indem Sie eine überladene Version von getAttributeValue() verwenden. Immer noch offen für die Eingabe, wenn es einen besseren Weg dafür gibt.

+0

Eigentlich brauche ich vielleicht eine bessere Lösung. Es scheint nicht, ich kann Stile verwenden, wenn ich die Dinge so mache. – Adam

Verwandte Themen