为什么一定要申明接收View?

新手最近在学android,今天搞了个小问题搞了TM一下午!我新建个4.0的项目我写了个按钮
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="计算"
android:onClick="btnDivideClick"/>
然后运行到模拟器点击按钮一直报Unfortunately,xxxhasstopped!,然后就是各种找问题,但是没找到哪里写错了,然后就删除各种不相关的代码最后就特么剩下上面按钮和下面方法
publicvoidbtnDivideClick(){
//EditTextedit_1=(EditText)findViewById(R.id.etFirst);
//EditTextedit_2=(EditText)findViewById(R.id.etSecond);
//TextViewtextview=(TextView)findViewById(R.id.tvResult);
//Stringstr_1=edit_1.getText().toString();
//Stringstr_2=edit_2.getText().toString();
//textview.setText(str_1+str_2);
}
方法的代码也注释了还tm报错,瞬间崩溃了,后来发现方法里定义(Viewview)就没事了,我草啊....我代码里又没用到这个参数,为何要定义?我之前没定义我不见报这个错啊?
浮云间
浏览 454回答 2
2回答

慕尼黑的夜晚无繁华

Java要求方法定义的形参必须和实参一致。Android通过分析XML,能够自动将组件的点击事件绑定到你设置的方法上,并且通过带入View对象作为实参的形式进行调用。而如果你方法定义的形参并不是View,那就会违背Java的调用逻辑,产生异常。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript