android - Menu的click监听器可以使用switch()case来匹配具体点击的Item吗?
迷茫
迷茫 2017-04-17 17:20:24
[Android讨论组]

自定义的一个菜单组件,想对里面的item设置click监听。

public class ResideMenuItem extends LinearLayout{}//自定义菜单项目
private ResideMenuItem itemMusic;
itemMusic  = new ResideMenuItem(this,R.drawable.icon_home,"Music");
itemMusic.setOnClickListener(this);

因为项目比较多,所以想用switch()case来匹配,但一时间想不起来应该怎么设置匹配方式。
对于button这类有绑定view的可以使用view.getId()来匹配,但这种自定义的应该怎么设置呢。
demo里用的是if (view == itemMusic){},但switch好像不行呢。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
高洛峰

View有setId(int id)方法,如

private ResideMenuItem itemMusic;
itemMusic  = new ResideMenuItem(this,R.drawable.icon_home,"Music");
itemMusic.setId(0xff01);
itemMusic.setOnClickListener(this);

这样你就可以在switch里使用view.getId()来判断了。

天蓬老师

menu 的点击事件 复写这个方法 onOptionsItemSelected(MenuItem item) 你在方法里面根据 itemId 来进行判断就可以了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号