我正在创建一个包含在类库中的自定义视图。我需要向我动态创建的子视图添加多个标签(在代码中,而不是xml),因此这需要我添加use: View.setTag(int key,Object tag)。
密钥需要是项目R文件中定义的id,但由于我的所有视图都是动态创建的,并且代码进入库以便在其他项目中使用,因此我没有硬编码的资源ID手用。有没有办法以编程方式发现几个已定义的资源ID,或者以编程方式定义一些?或者我是不是错了?
由于
答案 0 :(得分:3)
请注意,您可以将任何对象添加为标记。如果您要添加到视图中的数据是动态的,那么最简单的方法是将Hashtable作为标记添加到View中。然后将所需的所有键/值对添加到该Hashtable。另一方面,(处理标记的代码),您可以通过将View的标记强制转换为Hashtable并迭代Hashtable.keys()来迭代值。
答案 1 :(得分:1)
如果您阅读the documentation,则会说:
标签还可用于在视图中存储数据,而无需借助其他数据结构。
暗示您可以做的事情是使用其他数据结构。你可能想看 使用ViewHolder模式并在标记中存储该实例。