博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OnClickListener结合switch/case的两种方法
阅读量:6296 次
发布时间:2019-06-22

本文共 1619 字,大约阅读时间需要 5 分钟。

  switch/case只能判断int类型的变量,就从这点入手,代码还是比较清楚的,两种方法均来自StackOverflow

  

方法一:

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);        ImageView img1 = (ImageView)findViewById(R.id.img1);    ImageView img2 = (ImageView)findViewById(R.id.img2);        img1.setOnClickListener(new OnClickEvent());    img2.setOnClickListener(new OnClickEvent());}private class OnClickEvent implements OnClickListener {    @Override    public void onClick(View v) {        switch (v.getId()) {        case R.id.img1:            System.out.println("click img1");            break;        case R.id.img2:            System.out.println("click img2");            break;        default:            break;        }    }}

 

方法二:

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);        ImageView img1 = (ImageView)findViewById(R.id.img1);    ImageView img2 = (ImageView)findViewById(R.id.img2);        img1.setId(R.string.app_name);    img2.setId(12);        img1.setOnClickListener(new OnClickEvent());    img2.setOnClickListener(new OnClickEvent());}private class OnClickEvent implements OnClickListener {    @Override    public void onClick(View v) {        switch (v.getId()) {        case R.string.app_name:            System.out.println("click img1");            break;        case 12:            System.out.println("click img2");            break;        default:            break;        }    }}

 

 

可以看到第二种方法很有意思,我们人为地给View一个Id就行了,这个Id甚至可以是R.string.app_name这种东西,因为R.string.app_name还是一个int类型的变量

转载于:https://www.cnblogs.com/bigfatxixi/p/3350721.html

你可能感兴趣的文章
灵动空间 创享生活
查看>>
《UNIX网络编程 卷1:套接字联网API(第3版)》——8.6 UDP回射客户程序:dg_cli函数...
查看>>
不要将时间浪费到编写完美代码上
查看>>
《算法基础:打开算法之门》一3.4 归并排序
查看>>
高德开放平台开放源代码 鼓励开发者创新
查看>>
《高并发Oracle数据库系统的架构与设计》一2.5 索引维护
查看>>
Firefox 是 Pwn2own 2014 上攻陷次数最多的浏览器
查看>>
阿里感悟(十八)- 应届生Review
查看>>
话说模式匹配(5) for表达式中的模式匹配
查看>>
《锋利的SQL(第2版)》——1.7 常用函数
查看>>
jquery中hover()的用法。简单粗暴
查看>>
线程管理(六)等待线程的终结
查看>>
spring boot集成mongodb最简单版
查看>>
DELL EqualLogic PS存储数据恢复全过程整理
查看>>
《Node.js入门经典》一2.3 安装模块
查看>>
《Java 开发从入门到精通》—— 2.5 技术解惑
查看>>
Linux 性能诊断 perf使用指南
查看>>
实操分享:看看小白我如何第一次搭建阿里云windows服务器(Tomcat+Mysql)
查看>>
Sphinx 配置文件说明
查看>>
数据结构实践——顺序表应用
查看>>