为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守候你守候我 2019-02-23 19:59:20
新手最近在学android,今天搞了个小问题搞了TM一下午!我新建个4.0的项目我写了个按钮 <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="计算" android:onClick="btnDivideClick"/> 然后运行到模拟器点击按钮一直报 Unfortunately,xxx has stopped!, 然后就是各种找问题,但是没找到哪里写错了,然后就删除各种不相关的代码 最后就特么剩下上面按钮 和下面方法 public void btnDivideClick(){ //EditText edit_1 = (EditText)findViewById(R.id.etFirst); //EditText edit_2 = (EditText)findViewById(R.id.etSecond); //TextView textview = (TextView)findViewById(R.id.tvResult); //String str_1 = edit_1.getText().toString(); //String str_2 = edit_2.getText().toString(); //textview.setText(str_1 + str_2); } 方法的代码也注释了 还tm报错, 瞬间崩溃了,后来发现 方法里定义(View view)就没事了,我草啊.... 我代码里又没用到这个参数,为何要定义?我之前没定义我不见报这个错啊?
查看完整描述

2 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

Java 要求方法定义的形参必须和实参一致。
Android 通过分析 XML ,能够自动将组件的点击事件绑定到你设置的方法上,并且通过带入 View 对象作为实参的形式进行调用。
而如果你方法定义的形参并不是 View ,那就会违背 Java 的调用逻辑,产生异常。

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 522 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号