- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
整个开发商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/
我正在寻找一种方法来分离 rust 中的子过程。尽管按照默认行为,它是分离的,但它不会像 Posix setsid() 中那样创建新 session 称呼。 通常在 fork() 之间使用 pre_e
嗨,我正在尝试以编程方式 setId,但问题是如何在 java 中设置后找到该 id。我在 fragments (Viewpager) 工作下面是我的代码。 property=new Searchab
我几乎不懂 Java(学习了 1 周)。 List u = new ArrayList(); u.add(new User(1,5)); u.add(new User(2,4)); 在本例中,数据从类
整个开发商documents & tutorials ,他们推荐使用 findViewById() 来“从在 onCreate(Bundle) 中处理的 XML 中找到一个由 id 属性标识的 Vie
本文整理了Java中libcore.util.ZoneInfo.setID()方法的一些代码示例,展示了ZoneInfo.setID()的具体用法。这些代码示例主要来源于Github/Stackove
我的应用程序动态扩充一些 XML 并将其添加到嵌套在 ScrollView 中的现有布局中。在每个膨胀的布局中,我都有一个 EditText,我需要它来获取稍后的文本。我得到一个 NullPointe
我在我的 GridViewAdapter 类中创建了一个 imageView: @Override public View getView(int position, View convertView
本文整理了Java中org.geoserver.wms.WMSInfoImpl.setId()方法的一些代码示例,展示了WMSInfoImpl.setId()的具体用法。这些代码示例主要来源于Gith
本文整理了Java中gobblin.source.workunit.WorkUnit.setId()方法的一些代码示例,展示了WorkUnit.setId()的具体用法。这些代码示例主要来源于Gith
本文整理了Java中com.weibo.yar.YarRequest.setId()方法的一些代码示例,展示了YarRequest.setId()的具体用法。这些代码示例主要来源于Github/Sta
我使用 setID() 来标识 View 的子项(例如,在 TableLayout 中创建 TableRow 时)。我可以检索子项(行),但有时我需要将先前设置的 ID 更改为新值。当我检索一个 ch
我使用 Component.setId(String id) 方法为我的网格设置 ID。我使用: setId("ARTICLE_STOCK.ABSATZ.ZEITRAUM_MONAT"); 但是后来
我试图在 For 循环中创建一堆 ImageView。我想将 View 设置为彼此下方。为此,我考虑将 View 的 id 设置为 for 循环的 i 值,然后将下面的 LayoutParam 设置为
在 Android Studio 中,我创建了一个 Person.java 类。我使用Generate 创建了getter 和setter 以及构造函数。 这是我的 Person.java 类: pu
我看到了setId(int)和findViewByID(int)的语法定义。 但是我们如何使用findViewById(R.id.row1) 我尝试使用这个: Object1.setId(Intege
本文整理了Java中com.jpattern.orm.test.domain.Zoo_People.setId()方法的一些代码示例,展示了Zoo_People.setId()的具体用法。这些代码示例
我不知道为什么会这样: 如果我写下面的代码: TextView textView = new TextView(this); textView.setId(1); 1 作为 id 不工作并给我一个警告
我在 for 循环中以编程方式添加 TextView,并将它们添加到 ArrayList。 如何使用 TextView.setId(int id)?我想出什么整数 ID 才不会与其他 ID 冲突? 最
本文整理了Java中pl.edu.icm.model.bwmeta.y.YContentFile.setId()方法的一些代码示例,展示了YContentFile.setId()的具体用法。这些代码示
本文整理了Java中pl.edu.icm.model.bwmeta.y.YElement.setId()方法的一些代码示例,展示了YElement.setId()的具体用法。这些代码示例主要来源于Gi
我是一名优秀的程序员,十分优秀!