让类实现接口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事件时的简易做法相关推荐

  1. JavaScript区分click事件和mousedown(mouseup、mousemove)方法

    在前端开发工作中,会遇到这样问题:针对同一个dom元素,即希望为它绑定click事件,又想该元素可以允许拖拽的效果.而使用拖拽的效果,我们一般就会用到mousedown,mousemove和mouse ...

  2. 在同时使用label和input标签下下label绑定click事件执行两次的问题

    初始代码结构如下: <label :for="index" class="check-label" @click="handleChexk(it ...

  3. 不同dom的blur事件和click事件发生冲突

    直接上测试代码 <!DOCTYPE html> <html lang="en"> <head><title>不同dom的blur事件 ...

  4. [C# 基础知识系列]专题五:当点击按钮时触发Click事件背后发生的事情

    引言: 当我们在点击窗口中的Button控件VS会帮我们自动生成一些代码,我们只需要在Click方法中写一些自己的代码就可以实现触发Click事件后我们Click方法中代码就会执行,然而我一直有一个疑 ...

  5. 搜索提示时jquery的focusout和click事件冲突问题完美解决

    在主流的搜索引擎上搜索时,输入内容,往往会弹出智能提示.输入框为input,智能提示区域为suggest.接下来一般有两种操作: 1.选择某一提示,则把内容复制到input中,自动关闭suggest: ...

  6. 解决JS双击事件dblclick触发时,同时会执行click事件中的语句

    双击dblclick事件,同时会执行click事件中的语句,当需要为一个元素同时添加这两个事件时,显然这不是我们想要的结果,举个实例,在最近做的canvas开发中使用鼠标画区域,鼠标单击一下开始画,鼠 ...

  7. 解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突

    功能描述: 如图,右侧悬浮菜单按钮,只支持上下方向拖动,点击时展开或关闭菜单. BUG说明: 鼠标上下方向拖拽,如果松开时鼠标位于悬浮按钮上会默认执行click事件,经验证,click事件与mouse ...

  8. 基于Vue实现拖拽效果以及解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突

    本人在开发中遇到实现一个基于vue的悬浮框拖动效果,经过努力研究最终实现了功能,一下是我的方法和部分代码,希望对您有所帮助,如有不对的地方还请指出.谢谢!下面步入正题: 首先展示一下功能的效果图: 要 ...

  9. 触发dblclick事件时,避免触发click事件-实例

    正常情况下触发双击dblclick事件时会同时触发两遍单击click事件,这肯定不是我们想要的结果,那么如何避免伴随触发click事件呢? 浏览器监听双击事件的机制是,有没有在一定时间内监听到两次连续 ...

  10. jQuery在绑定事件时如何传入参数

    2019独角兽企业重金招聘Python工程师标准>>> jQuery在绑定事件时为函数传入参数: 不能将自定义数据直接放入处理函数的参数中,在事件触发时会被事件对象替换. 使用绑定方 ...

最新文章

  1. RMAN duplicate database到新主机
  2. 什么是可重入函数和不可重入函数
  3. android 屏幕完美适配,Android完美适配不同屏幕
  4. 田忌赛马贪心算法_acm田忌赛马问题在线等急求!!
  5. java代码删除本地文件_java程序实现删除本地文件
  6. 盐池元宵转九曲【山乡元夕】
  7. 计算树结点路径的一种Javascript的实现
  8. php 字符串压缩,PHP 压缩字符串的几种方法
  9. 《西方确指》明心生极乐、专修净土乃大孝、持咒显空慧
  10. 函数在区间连续可以推出什么_函数在闭区间内可导能否推出其导数在该区间连续?...
  11. 什么是导数和切线?以及他们的关系?
  12. 华为android系统管理,安卓系统即将迎来封闭管理?华为首先发起,网友:流畅度更重要...
  13. 聊聊被注销的TMQ公众号
  14. Soft-Clipping Swish激活函数
  15. Win11关闭代理白名单 小猫咪关闭远程解析功能
  16. gitee码云的使用
  17. windows11删除微软账户,使用本地账户登录,解除绑定
  18. l3119双闪_爱普生打印机两个指示灯一直在闪是为什么
  19. CAN数据采集助手 Python
  20. 加米谷大数据报告:社交网络大数据的应用有多大的价值

热门文章

  1. atitit.dw不能显示正确的百分比高度in dw的解决
  2. paip.软件版本完善计划VC421
  3. 登陆服务器老出现“达到最大连接数解决方法
  4. Web开发之旅--使用Flask 实现REST架构的API
  5. 证券业大数据与人工智能发展现状与应用趋势
  6. 【图像隐写】基于matlab FFT数字水印嵌入【含Matlab源码 1670期】
  7. 【单目标优化求解】基于matlab混沌生物地理算法求解单目标问题【含Matlab源码 1411期】
  8. 【基础处理】基于matlab Fxlms算法有源噪声控制系统【含Matlab源码 1394期】
  9. 【路径规划】基于matlab A_star算法智能仓储机器人移动避碰路径规划【含Matlab源码 1180期】
  10. ai人工智能_AI如何帮助截肢者?