有人可以解释这句话的语法:
Button myButton = (Button) findViewById(R.id.my_button);
我认为它是在说“创建一个名为myButton的Button新实例”。等号似乎表明myButton应初始化为某些东西,但我的研究似乎表明等号后的部分基本上是说myButton的这个实例被挂钩到XML布局文件中定义的Button。
?“(按钮)”有什么意义 - 它似乎有点多余。
?myButton是否被初始化,只是挂钩到实际的XML按钮?
?我正在搜索,找不到像这样的Java语句的任何描述 - 这是Android Java独有的吗?有人可以解释这里的语法吗?
THX。
答案 0 :(得分:4)
(Button)
它将findViewById(R.id.my_button);
方法转换为Button myButton
对象
public View findViewById (int id)
Finds a view that was identified by the id attribute from the XML
that was processed in onCreate(Bundle)
返回
The view if found or null otherwise.
答案 1 :(得分:3)
1。)myButton
是Button
类型的变量。通过声明Button myButton
来进行此绑定。
2。)=
运算符表示赋值。您正在将内容分配给变量myButton
。
作业的内容是什么?
3。)一个android小部件,使用方法findViewById()
#findViewById()返回,然后通过说Button
(Button)
总而言之,您将Button
分配给myButton
,是的,该按钮现在已连接到xml按钮,其中包含您传递的ID到findViewById()
答案 2 :(得分:2)
按钮是一个视图。 findViewById(int id)将返回给定视图id的View。由于findViewById仅返回一个View,因此您需要将其强制转换为Button,以便您可以访问按钮特定的方法。
答案 3 :(得分:1)
好的,让我们不知道,什么是Android中的Button?
这是我们使用的XML语法:
<Button android:id="@+id/my_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CLICK ME!!" />
现在在MainActivity.java
,我们在此处使用
Button myButton = (Button) findViewById(R.id.my_button); //here we are invoking button ID from xml.
actionListener
我们在这里使用:
myButton.setOnClickEvent(new OnClickEvent(
public void onClickEvent(View v){
//DO SOMETHING AWESOME!
}
));
了解更多信息按钮点击here
的实际效果