不懂这个单击图片的响应事件的原理 public void myClick(View view){

七哥有个小梦想 2015-07-28 03:13:24
最近在学android,在布局这一块,遇到了一个不太明白的地方,就是我在xml文件里添加了一个imagebutton,代码如下:

<ImageButton
android:id="@+id/login1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FFFF00"
android:onClick="myClick"
android:src="@drawable/login" />

然后看到书上写的activity。java文件里,对应的单击事件的相应代码为:
 
public void myClick(View view){
Toast toast=Toast.makeText(MainActivity.this, "您单击了图片按钮", Toast.LENGTH_SHORT);
toast.show();
}



那么我就不懂了,这个响应的代码public void myClick(View view)里面并没有提到imagebutton的id属性login1啊,但是为啥却能对应相应这个图片的单击事件呢?新手不太懂,望各位朋友多多指教
...全文
380 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 9 楼 sinat_18376959 的回复:
用了这个方法,最好用switch case来区别各个控件 不然的话全部都实现同一个方法
嗯嗯,知道了,现在已经明白怎么回事了,谢谢大家的回答
十三邵 2015-08-03
  • 打赏
  • 举报
回复
还真没这么写过,实际开发还没遇到过这种需求。。。
sinat_18376959 2015-08-03
  • 打赏
  • 举报
回复
用了这个方法,最好用switch case来区别各个控件 不然的话全部都实现同一个方法
雪月弦歌 2015-07-31
  • 打赏
  • 举报
回复
引用 7 楼 qq_20615629 的回复:
引用 4 楼 Faith_full 的回复:
布局文件里android:onClick="myClick" 绑定了public void myClick(View view)方法。所以你点击的时候就会触发到这个方法了。一般使用的话,本人是很少用这用方法就是了。也不知道那种方法好用,看个人习惯吧
嗯,大概懂了怎么回事了,是因为在xml文件中已经绑定了相应方法了所以不用根据id属性来绑定了是么????
最好是用id来区分下,不然你另外一个控件也这么写的话,也会响应这个相同的事件。
  • 打赏
  • 举报
回复
引用 4 楼 Faith_full 的回复:
布局文件里android:onClick="myClick" 绑定了public void myClick(View view)方法。所以你点击的时候就会触发到这个方法了。一般使用的话,本人是很少用这用方法就是了。也不知道那种方法好用,看个人习惯吧
嗯,大概懂了怎么回事了,是因为在xml文件中已经绑定了相应方法了所以不用根据id属性来绑定了是么????
  • 打赏
  • 举报
回复
引用 1 楼 wmg494005678 的回复:
是 控件主动去与监听器建立起联系,而不是监听器与控件主动建立联系! 一对多的关系
综合下边几位朋友说的,你的解释是,只要xml文件的布局文件中有android:onClick="myClick"也就是绑定了public void myClick(View view)这个方法,那么不管xml文件中有多少个含android:onClick="myClick"的布局都可以由public void myClick(View view)这一个方法来监听吗?多个xml布局对应一个响应方法?????
little_aaaaaa 2015-07-29
  • 打赏
  • 举报
回复
用这个的好处就是可以多个控件共用一个点击方法
Faith_full 2015-07-28
  • 打赏
  • 举报
回复
布局文件里android:onClick="myClick" 绑定了public void myClick(View view)方法。所以你点击的时候就会触发到这个方法了。一般使用的话,本人是很少用这用方法就是了。也不知道那种方法好用,看个人习惯吧
头发还没秃a 2015-07-28
  • 打赏
  • 举报
回复
一楼说的很对,控件在XML文件里面已经主动绑定public void myClick(View view){这个方法了
哎,真难 2015-07-28
  • 打赏
  • 举报
回复
你没注意到onclicklisnter么,它是个这个imgviewbutton添加了一个监听器
wmg494005678 2015-07-28
  • 打赏
  • 举报
回复
是 控件主动去与监听器建立起联系,而不是监听器与控件主动建立联系! 一对多的关系

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧