这段代码背后的 Intent 是什么?
Button sButton = (Button) findViewById(R.id.button_1);
最佳答案
在您的 XML 文件中,您为放置在屏幕上的小部件创建 ID。
在该代码中,您正在创建一个按钮引用 ( sButton
) 作为与 button_1
的 ID 对应的按钮
findViewById
根据 ID 搜索按钮 - ID 位于 R.java
您的项目文件:Project Folder > gen > package > R.java
R.java
文件包含对项目中所有内容(或基本上所有内容?)的引用。这是它的重要组成部分。
这就是为什么 findViewById
的参数是R.id.button_1
因为您正在搜索 button_1
的 ID在R
类(它是一个静态字段)。
然后您将转换 button_1
的 ID到带有 (Button)
的按钮在 findViewById
前.
补充说明:
如果您查看 R.java
类,您已将其声明为:public final class R {
所以这就是 R
的地方在 R.id.button_1
来自。
然后你有另一个像这样的内部类:public static final class id {
所以这就是 id
的地方来自 R.id.button_1
然后,在 id
内部类,你有这个(除其他外):
public static final int button_1=...;
...
在哪里将是一些代码来表示 int
值(value)。那就是 button_1
的地方来自 R.id.button_1
所以基本上,R.id.button_1
转到 R
类,然后是 id
内部类,然后访问实际的 int
id
的值(value)姓名。
关于java - 安卓开发 : Button- findViewById?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21948103/