gpt4 book ai didi

android - findViewById 与 setId

转载 作者:行者123 更新时间:2023-11-29 22:24:21 30 4
gpt4 key购买 nike

整个开发商documents & tutorials ,他们推荐使用 findViewById() 来“从在 onCreate(Bundle) 中处理的 XML 中找到一个由 id 属性标识的 View ”,所以我一直只在需要的地方使用它查看引用 xml 文件中的内容。这导致了很多问题,比如如果我需要在静态方法中使用 View ,或者据我所知,除了 onCreate 之外的任何方法。最近我偶然发现了 setId(),除了因为它遵循标准的“getters & setters”协议(protocol)而变得更简洁和更具可读性之外,它似乎也没有关于你在哪里的要求在您的应用中使用它。

实际上有什么区别:

setId - “设置此 View 的标识符。标识符在此 View 的层次结构中不必是唯一的。标识符应为正数。”

&

findViewById - “查找具有给定 ID 的 subview 。如果此 View 具有给定 ID,则返回此 View 。”

它们可以互换吗?是否存在只允许使用其中一种的情况?

最佳答案

这些是完全不同的方法。事实上,setId 可用于设置 View 的 ID,以便您稍后可以使用 findViewById 再次找到它。当您知道 View 的 ID 并且想要获取与该 ID 关联的实际 View 对象时,您可以使用 findViewById。当你已经有了一个 View 对象时,你可以使用 setId ,并且你想为它设置一个标识符,这样你以后就可以找到相同的 View 对象再次使用 findViewById

关于android - findViewById 与 setId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6349045/

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