Android 为什么需要将View类型的对象传递给此方法? 公共void onclick按钮(视图){ TextView TextView=(TextView)findViewById(R.id.textView1); textview.setVisibility(View.VISIBLE); }
这是按下按钮时使文本显示在主活动界面中的代码。在“onClickButton”方法块中不使用视图对象时,传入视图对象有什么意义?我这样问是因为即使我没有在代码块中使用view对象,如果我省略了参数,应用程序也会崩溃。您的布局中可能有几个按钮,而活动代码中只有一个方法。在这种情况下,有必要区分不同的按钮 这就是可以使用的地方Android 为什么需要将View类型的对象传递给此方法? 公共void onclick按钮(视图){ TextView TextView=(TextView)findViewById(R.id.textView1); textview.setVisibility(View.VISIBLE); },android,Android,这是按下按钮时使文本显示在主活动界面中的代码。在“onClickButton”方法块中不使用视图对象时,传入视图对象有什么意义?我这样问是因为即使我没有在代码块中使用view对象,如果我省略了参数,应用程序也会崩溃。您的布局中可能有几个按钮,而活动代码中只有一个方法。在这种情况下,有必要区分不同的按钮 这就是可以使用的地方 <Button android:id="@+id/button1" style="?android:attr/buttonStyleSmall"
<Button
android:id="@+id/button1"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_alignParentTop="true"
android:text="@string/button1"
android:onClick="onClickButton"/>
public void onClickButton(View view){
TextView textview = (TextView) findViewById(R.id.textView1);
textview.setVisibility(View.VISIBLE);
}
公共void onclick按钮(视图){
if(view.getId()==R.id.buttonSave){
//做点什么
}else if(view.getId()==R.id.buttonCancel){
//做点别的
}
}
但是,通过为每个视图类型使用一个方法,可以将不同的方法绑定到不同的视图
另一个用例可能是:
单击按钮后,您想要修改按钮本身,比如说,隐藏它,或者更改标签,那么您显然需要对按钮的引用
在“onClickButton”方法块中不使用view类型的对象视图时,传入该视图有什么意义
首先,我会告诉你的。其次,它可以在函数中使用。由于按钮
s不是唯一可单击的视图
,因此使用视图
参数可以检查视图
类型,以查看按下的内容并使用它执行其他操作
public void onClickButton(View view){
if(view.getId() == R.id.buttonSave){
// Do something
} else if(view.getId() == R.id.buttonCancel){
// Do something else
}
}
如果您将视图直接传递给该方法,则该方法应该可以工作。如果您只有一个用于多个按钮的onclick方法,则代码的混乱程度似乎会降低。谢谢。是的,但是,这是我提到的一个原因。比如说,在点击按钮后,你想修改按钮本身,比如说,隐藏它,或者更改标签,那么你显然需要一个按钮的引用。我理解。谢谢
public void onClickButton(View view){
TextView textview = (TextView)view;
textview.setVisibility(View.VISIBLE);
}