当有多个click事件时的简易做法
让类实现接口OnClickListener
然后button.setOnClickListener(this);
之后重写onClick(View v)函数。
通过v.getId()得到是哪个view触发了click事件。然后分情况处理。如
1 package com.example.linearlayout; 2 3 import android.os.Bundle; 4 import android.app.Activity; 5 import android.view.Menu; 6 import android.view.View; 7 import android.view.View.OnClickListener; 8 import android.widget.Button; 9 10 public class MainActivity extends Activity implements OnClickListener { 11 Button tl; 12 Button rl; 13 Button fl; 14 Button al; 15 16 @Override 17 protected void onCreate(Bundle savedInstanceState) { 18 super.onCreate(savedInstanceState); 19 setContentView(R.layout.activity_main); 20 tl=(Button)findViewById(R.id.button1); 21 tl.setOnClickListener(this); 22 rl=(Button)findViewById(R.id.button2); 23 rl.setOnClickListener(this); 24 fl=(Button)findViewById(R.id.button3); 25 fl.setOnClickListener(this); 26 al=(Button)findViewById(R.id.button4); 27 al.setOnClickListener(this); 28 } 29 30 @Override 31 public boolean onCreateOptionsMenu(Menu menu) { 32 // Inflate the menu; this adds items to the action bar if it is present. 33 getMenuInflater().inflate(R.menu.main, menu); 34 return true; 35 } 36 37 @Override 38 public void onClick(View v) { 39 // TODO Auto-generated method stub 40 if(v.getId()==R.id.button1) 41 { 42 setContentView(R.layout.tablelayout); 43 } 44 if(v.getId()==R.id.button2) 45 { 46 setContentView(R.layout.relativelayout); 47 } 48 if(v.getId()==R.id.button3) 49 { 50 setContentView(R.layout.framelayout); 51 } 52 if(v.getId()==R.id.button4) 53 { 54 setContentView(R.layout.absolutelayout); 55 } 56 } 57 58 }
上面40到50行中,有4个if语句,用来判断v是哪一个view。
其实可以通过switch(v.getId())来替换
转载于:https://www.cnblogs.com/lexious/p/3857589.html
当有多个click事件时的简易做法相关推荐
- JavaScript区分click事件和mousedown(mouseup、mousemove)方法
在前端开发工作中,会遇到这样问题:针对同一个dom元素,即希望为它绑定click事件,又想该元素可以允许拖拽的效果.而使用拖拽的效果,我们一般就会用到mousedown,mousemove和mouse ...
- 在同时使用label和input标签下下label绑定click事件执行两次的问题
初始代码结构如下: <label :for="index" class="check-label" @click="handleChexk(it ...
- 不同dom的blur事件和click事件发生冲突
直接上测试代码 <!DOCTYPE html> <html lang="en"> <head><title>不同dom的blur事件 ...
- [C# 基础知识系列]专题五:当点击按钮时触发Click事件背后发生的事情
引言: 当我们在点击窗口中的Button控件VS会帮我们自动生成一些代码,我们只需要在Click方法中写一些自己的代码就可以实现触发Click事件后我们Click方法中代码就会执行,然而我一直有一个疑 ...
- 搜索提示时jquery的focusout和click事件冲突问题完美解决
在主流的搜索引擎上搜索时,输入内容,往往会弹出智能提示.输入框为input,智能提示区域为suggest.接下来一般有两种操作: 1.选择某一提示,则把内容复制到input中,自动关闭suggest: ...
- 解决JS双击事件dblclick触发时,同时会执行click事件中的语句
双击dblclick事件,同时会执行click事件中的语句,当需要为一个元素同时添加这两个事件时,显然这不是我们想要的结果,举个实例,在最近做的canvas开发中使用鼠标画区域,鼠标单击一下开始画,鼠 ...
- 解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突
功能描述: 如图,右侧悬浮菜单按钮,只支持上下方向拖动,点击时展开或关闭菜单. BUG说明: 鼠标上下方向拖拽,如果松开时鼠标位于悬浮按钮上会默认执行click事件,经验证,click事件与mouse ...
- 基于Vue实现拖拽效果以及解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突
本人在开发中遇到实现一个基于vue的悬浮框拖动效果,经过努力研究最终实现了功能,一下是我的方法和部分代码,希望对您有所帮助,如有不对的地方还请指出.谢谢!下面步入正题: 首先展示一下功能的效果图: 要 ...
- 触发dblclick事件时,避免触发click事件-实例
正常情况下触发双击dblclick事件时会同时触发两遍单击click事件,这肯定不是我们想要的结果,那么如何避免伴随触发click事件呢? 浏览器监听双击事件的机制是,有没有在一定时间内监听到两次连续 ...
- jQuery在绑定事件时如何传入参数
2019独角兽企业重金招聘Python工程师标准>>> jQuery在绑定事件时为函数传入参数: 不能将自定义数据直接放入处理函数的参数中,在事件触发时会被事件对象替换. 使用绑定方 ...
最新文章
- RMAN duplicate database到新主机
- 什么是可重入函数和不可重入函数
- android 屏幕完美适配,Android完美适配不同屏幕
- 田忌赛马贪心算法_acm田忌赛马问题在线等急求!!
- java代码删除本地文件_java程序实现删除本地文件
- 盐池元宵转九曲【山乡元夕】
- 计算树结点路径的一种Javascript的实现
- php 字符串压缩,PHP 压缩字符串的几种方法
- 《西方确指》明心生极乐、专修净土乃大孝、持咒显空慧
- 函数在区间连续可以推出什么_函数在闭区间内可导能否推出其导数在该区间连续?...
- 什么是导数和切线?以及他们的关系?
- 华为android系统管理,安卓系统即将迎来封闭管理?华为首先发起,网友:流畅度更重要...
- 聊聊被注销的TMQ公众号
- Soft-Clipping Swish激活函数
- Win11关闭代理白名单 小猫咪关闭远程解析功能
- gitee码云的使用
- windows11删除微软账户,使用本地账户登录,解除绑定
- l3119双闪_爱普生打印机两个指示灯一直在闪是为什么
- CAN数据采集助手 Python
- 加米谷大数据报告:社交网络大数据的应用有多大的价值
热门文章
- atitit.dw不能显示正确的百分比高度in dw的解决
- paip.软件版本完善计划VC421
- 登陆服务器老出现“达到最大连接数解决方法
- Web开发之旅--使用Flask 实现REST架构的API
- 证券业大数据与人工智能发展现状与应用趋势
- 【图像隐写】基于matlab FFT数字水印嵌入【含Matlab源码 1670期】
- 【单目标优化求解】基于matlab混沌生物地理算法求解单目标问题【含Matlab源码 1411期】
- 【基础处理】基于matlab Fxlms算法有源噪声控制系统【含Matlab源码 1394期】
- 【路径规划】基于matlab A_star算法智能仓储机器人移动避碰路径规划【含Matlab源码 1180期】
- ai人工智能_AI如何帮助截肢者?