您的位置:首页 > 移动开发 > Android开发

Android--实现一个函数对多个CheckBox动态监

2016-09-25 22:51 232 查看
最近在写一个程序时,用到了CheckBox。对于每个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));                    }
}            });        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐