【发布时间】:2013-11-25 08:51:10
【问题描述】:
我是 android 开发的新手,但不是真正的 Java。
我不明白为什么我在Button中定义的方法必须以View为参数。
例如..
在 XML 中
<Button
android:id="@+id/button1"
//etc..
//etc..
android:onClick="displayText" />
可以看出,这是onClick方法。
当我编写 Java 代码时,方法 displayText 将像这样定义
public void displayText(View view){
TextView myTextView = (TextView)findViewById(R.id.textView1);
myTextView.setVisibility(View.VISIBLE);
}
当一切正常时,我最初隐藏的文本将通过简单的单击按钮显示出来。
当我从该方法中删除参数View view 时,当我尝试单击按钮时应用程序崩溃。
我不明白为什么。
我不一定对参数中的view 做任何事情。
在非 android 开发中,我可以使用参数中的 view 并用它做事.. 但我没有看到我正在用这个参数做任何事情.. 那么为什么在这个方法中需要它?
【问题讨论】:
-
"...那么为什么在这个方法中需要它?" 因为您可以有多个可能使用相同 OnClickListener 的 Button(或其他扩展 View 的类)。为了确定点击了哪一个,您将使用
view.getId()上的开关/案例块切换,它返回由android:id=设置的资源ID。
标签: java android methods parameters