Android 将XML参数传递给自定义视图

Android 将XML参数传递给自定义视图,android,android-widget,android-layout,Android,Android Widget,Android Layout,我正在尝试实现一个自定义视图,我希望能够通过XML布局文件传递参数。问题是这些参数或多或少是任意的;它们最终将被用作构建URL的参数(不值得构建和维护有效参数的完整列表) 因此,ApiDemos示例代码中的方法不一定合适,因为我不知道参数的名称 我试图做的是以下几点: public Chart(Context context, AttributeSet attributes) { super(context, attributes); params = new HashMap&l

我正在尝试实现一个自定义视图,我希望能够通过XML布局文件传递参数。问题是这些参数或多或少是任意的;它们最终将被用作构建URL的参数(不值得构建和维护有效参数的完整列表)

因此,ApiDemos示例代码中的方法不一定合适,因为我不知道参数的名称

我试图做的是以下几点:

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));
}
公共图表(上下文、属性集属性){
超级(上下文、属性);
params=新的HashMap();
对于(int i=0;i

这可能不是最好的办法。。但我面临的主要问题是如何过滤掉android:attributes(即,我不希望android:layout\u height等处于参数中)?

找到了一种方法,通过使用过载版本的getAttributeValue()来实现这一点。如果有更好的方法,仍然可以输入。

实际上,我可能需要更好的解决方案。如果我这样做的话,我似乎不能使用样式。。