首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓开发:按钮- findViewById?

安卓开发:按钮- findViewById?
EN

Stack Overflow用户
提问于 2014-02-22 00:52:02
回答 3查看 188关注 0票数 1

这段代码背后的意图是什么?

代码语言:javascript
复制
Button sButton = (Button) findViewById(R.id.button_1);
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-22 01:05:32

在XML文件中,为放在屏幕上的小部件创建In。

在该代码中,您将创建一个按钮引用(sButton)作为对应于button_1 ID的按钮。

findViewById根据其ID搜索按钮-该ID位于项目的R.java文件中:Project Folder > gen > package > R.java

R.java文件保存对所有内容的引用(或者基本上所有?)在你的项目里。这是它必不可少的一部分。

这就是为什么findViewById的参数是R.id.button_1,因为您在R类中搜索button_1的ID (它是一个静态字段)。

然后,将button_1的ID转换为(Button)findViewById前面的一个按钮。

额外注意事项:

如果您查看R.java类,就会将其声明为:public final class R {,这就是R.id.button_1中的R的来源。

然后就有了另一个内部类:public static final class id {,这就是idR.id.button_1中的来源

然后,在id内部类中,您有以下内容(包括其他内容):

public static final int button_1=...;,其中...将是表示int值的一些代码。这就是button_1R.id.button_1中的来源

因此,基本上,R.id.button_1转到R类,然后是id内部类,然后访问id名称的实际int值。

票数 2
EN

Stack Overflow用户

发布于 2014-02-22 00:54:22

它通过id在关联的布局XML中找到一个视图,并将其转换为一个Button。这是你想问的吗?

票数 1
EN

Stack Overflow用户

发布于 2014-02-22 00:57:15

它用于查找用XML创建的Button,并将其放入Java代码中,以便您可以使用它。如果你不这样做,你就不能给按钮做任何事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21948103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档