从自定义视图Java代码访问AttributeSet

从自定义视图Java代码访问AttributeSet,java,android,Java,Android,我有一个自定义视图,其中包含几个使用onDraw绘制的文本字段。“我的活动”中有多个视图实例。这些文本字段的数据存储在许多字符串和整数数组中(我将其存储在数组中,因为我将在应用程序的其他部分使用这些数据) 我的计划是在XML中使用某种自定义属性来传递单个整数,然后在Java端访问它并将其用作数组的索引。因此,例如,来自array1[0]、array2[0]和array3[0]的文本将在视图中与XML中的mynamespace:customattribute=“0”一起使用 然而,在研究了四个小时

我有一个自定义视图,其中包含几个使用onDraw绘制的文本字段。“我的活动”中有多个视图实例。这些文本字段的数据存储在许多字符串和整数数组中(我将其存储在数组中,因为我将在应用程序的其他部分使用这些数据)

我的计划是在XML中使用某种自定义属性来传递单个整数,然后在Java端访问它并将其用作数组的索引。因此,例如,来自
array1[0]
array2[0]
array3[0]
的文本将在视图中与XML中的
mynamespace:customattribute=“0”
一起使用

然而,在研究了四个小时的大部分时间后,我得出结论,自定义视图上的自定义属性基本上是不可能的。我能找到的唯一信息要么只是引用XML,而不是如何通过代码访问它,要么它确实解释了代码,但引用了SDK的旧版本

这让我抓狂。如果有人能给我指出正确的方向,或者如果你知道做我想做的事情的另一种方法,我将永远感激

编辑:我已经开始尝试使用
android:tag
。。。如果我想办法解决这个问题,我会发布我的答案

另一个编辑:我还不能回答我自己的问题,所以我会在这里回答。因此,我在XML中添加了一个
标记
,并使用
getTag()
访问它。我将其转换为字符串,并从中解析整数


我不敢相信这有多简单。对不起,这个毫无意义的问题……

一点也不可能。您的属性需要在values/attr.xml中定义,您可以通过自定义视图的构造函数访问它们:

public MyCustomClass(Context context, AttributeSet attrs) {
    ...
    // Get an attribute
    X var = attrs.getX(...);
}

如果有疑问,请查看Android源代码,如View.java或TextView.java-google“View.java netmite”;)

啊哈!这看起来很有希望。我也要试试。噢!这正是我想要的,非常感谢!