android – setgetId()和setgetTag()之间的区别?

android – setgetId()和setgetTag()之间的区别?,第1张

概述我知道不同的基础是setId()将int作为参数,而setTag()接受Object.我要求更多关于实用建议. 当我以编程方式生成更多相同的元素时,我通过setId(counter)设置它们的ID,这对我来说知道哪个元素发送了onClick事件是好的.我可以通过setTag(计数器)做同样的事情,但我习惯了以前的方法. 那么我什么时候应该使用setTag()并且在使用setId()时我犯了错误? 我知道不同的基础是setID()将int作为参数,而setTag()接受Object.我要求更多关于实用建议.

当我以编程方式生成更多相同的元素时,我通过setID(counter)设置它们的ID,这对我来说知道哪个元素发送了onClick事件是好的.我可以通过setTag(计数器)做同样的事情,但我习惯了以前的方法.

那么我什么时候应该使用setTag()并且在使用setID()时我犯了错误?

我想如果我的方法是正确的,那么当我想传递其他数据时我会使用setTag(),但我会先给你留言.

解决方法 你的猜测是正确的.当您只希望在代码中识别特定视图时使用setID(),并且当您想要与该视图一起传递其他信息时(另外的数据可能或可能不唯一地标识该视图),您应该使用setTag.
您只能使用setTag方法并传递包含ID其他数据的复合对象,但在这种情况下,您需要构建一个特殊对象而不是更简单的方法,调用两个有问题的方法.

编辑:
View类的文档还包含有关这两种方法的有价值信息:

标识

VIEws may have an integer ID associated with them. These IDs are
typically assigned in the layout XML files,and are used to find
specific vIEws within the vIEw tree.

标签

Unlike IDs,Tags are not used to IDentify vIEws. Tags are essentially an extra pIEce of information that can be associated with a vIEw. They are most often used as a convenIEnce to store data related to vIEws in the vIEws themselves rather than by putting them in a separate structure.

总结

以上是内存溢出为你收集整理的android – set / getId()和set / getTag()之间区别?全部内容,希望文章能够帮你解决android – set / getId()和set / getTag()之间的区别?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1129006.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存