android - Menu的click监听器可以使用switch()case来匹配具体点击的Item吗?

 风光好风光好啊_229 发布于 2022-10-29 09:44

自定义的一个菜单组件,想对里面的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 个回答
  • menu 的点击事件 复写这个方法 onOptionsItemSelected(MenuItem item) 你在方法里面根据 itemId 来进行判断就可以了。

    2022-10-30 11:56 回答
  • 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()来判断了。

    2022-10-30 11:58 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有