Android--实现一个函数对多个CheckBox动态监
2016-09-25 22:51
232 查看
最近在写一个程序时,用到了CheckBox。对于每个CheckBox来说,使用的逻辑是一样的,即点击后获取上面的文字。可十多个CheckBox,为每个都写一个监听函数那也太多了。所以研究了一下,想到了一个偷懒的方法。
首先用一个HashMap,将CheckBox和每个CheckBox上的文字储存起来。这里CheckBox作为Key储存。然后通过一个Set获取HashMap里的所有Key。接下来用一个CheckBox的循环,对于循环中的每一个元素,调用监听函数。这样只需要写一个函数,就可以监听多个CheckBox了。很适合偷懒呀。
首先用一个HashMap,将CheckBox和每个CheckBox上的文字储存起来。这里CheckBox作为Key储存。然后通过一个Set获取HashMap里的所有Key。接下来用一个CheckBox的循环,对于循环中的每一个元素,调用监听函数。这样只需要写一个函数,就可以监听多个CheckBox了。很适合偷懒呀。
HashMap<checkbox,string>= shen=new HashMap<checkbox,string>(); shen.put(yuyanjia,"预言家"); shen.put(nvwu,"女巫"); shen.put(lieren,"猎人"); shen.put(baichi,"白痴"); shen.put(chuidizhe,"吹笛者"); shen.put(qiubite,"丘比特"); shen.put(hunhun,"混混"); shen.put(shouwei,"守卫"); shen.put(zhanglao,"长老"); shen.put(bailangwang,"白狼王"); Set<checkbox> checkBoxes=shen.keySet(); for(final CheckBox checkBox: checkBoxes) { checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { if(b) { peizhi.add(shen.get(checkBox)); } else { peizhi.remove(shen.get(checkBox)); } } }); }
相关文章推荐
- JS实现根据一个CheckBox的情况动态选中所有的CheckBox
- Android自定义View之实现一个动态的文字闪动效果
- 当Android端,访问WEB service 时,同样的增删改,如果我在一个函数中,实现三个业务(同一函数三个业务是相对独立的,没有交集),和用三个函数实现三个业务,哪一个比较好
- Android实战简易教程<五十一>(ListView实现子控件的动态显示和隐藏、checkbox全选和反选)
- 一个android带可变图标以及checkbox的ListView的Adapter的实现,用于工厂测试
- [C++学习笔记14]动态创建对象(定义静态方法实现在map查找具体类名对应的创建函数,并返回函数指针,map真是一个万能类)good
- Android实现APP安装后动态更换Icon和名称(即一个App多种入口)
- Android实战简易教程-第五十一枪(ListView实现子控件的动态显示和隐藏、checkbox全选和反选)
- Android学习-实现一个ListView中由Checkbox和TextView构成的布局
- 新手求教android的checkBox问题,现在我想实现按一个按钮,弹出一个对话框,这个对话框有标题,两列多行的checkBox以及最后的确定取消按钮,咋做?
- vb动态加载dll的一个类,实现vb动态加载dll并动态调用dll导出的函数的一个方便办法
- 一个动态内存管理模块的实现
- 一个函数返回两值的通用实现方法(简单,备忘)
- 使用函数递归实现基于php和MySQL的动态树型菜单
- 一个实现将动态页面转为静态的方案
- 一个利用客户端空间存储树形导航栏信息,从而实现ajax技术动态导航的雏形
- 使用函数递归实现基于php和MySQL的动态树型菜单
- 自己写一个strcpy(char*dest,char*src),如何在函数内部实现防御性溢出?
- 一个动态多维数组的实现
- 动态创建一个CButton按钮并实现其ON_BN_CLICKED消息