这段代码背后的意图是什么?
Button sButton = (Button) findViewById(R.id.button_1);发布于 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 {,这就是id在R.id.button_1中的来源
然后,在id内部类中,您有以下内容(包括其他内容):
public static final int button_1=...;,其中...将是表示int值的一些代码。这就是button_1在R.id.button_1中的来源
因此,基本上,R.id.button_1转到R类,然后是id内部类,然后访问id名称的实际int值。
发布于 2014-02-22 00:54:22
它通过id在关联的布局XML中找到一个视图,并将其转换为一个Button。这是你想问的吗?
发布于 2014-02-22 00:57:15
它用于查找用XML创建的Button,并将其放入Java代码中,以便您可以使用它。如果你不这样做,你就不能给按钮做任何事情。
https://stackoverflow.com/questions/21948103
复制相似问题