gpt4 book ai didi

java - 从自定义 View Java 代码访问 AttributeSet

转载 作者:行者123 更新时间:2023-12-02 08:13:42 25 4
gpt4 key购买 nike

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

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

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

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

编辑:我已经开始尝试使用 android:tag 做一些事情...如果我找到一种方法来实现它,我会发布我的答案。

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

我无法相信这有多么简单。抱歉问了这个毫无意义的问题......

最佳答案

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

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

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

关于java - 从自定义 View Java 代码访问 AttributeSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6858448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com