大家好,又见面了,我是你们的朋友全栈君。
将多个checkbox添加进一个list中,设置监听,当有一个checkbox被选中时,循环list ,将其他checkbox的选中状态设置为false:
</pre><pre name="code" class="java" style="font-size:18px;"> private List<CheckBox> boxList;
private CheckBox groupBox;
private CheckBox sortBox;
private CheckBox nearBox;
private CheckBox selectBox;
groupBox = (CheckBox) mView.findViewById(R.id.fragment_shop_group);
sortBox = (CheckBox) mView.findViewById(R.id.fragment_shop_sort);
nearBox = (CheckBox) mView.findViewById(R.id.fragment_shop_near);
selectBox = (CheckBox) mView.findViewById(R.id.fragment_shop_select);
boxList = new ArrayList<CheckBox>();
boxList.add(groupBox);
boxList.add(sortBox);
boxList.add(nearBox);
boxList.add(selectBox);
for (int i = 0; i < boxList.size(); i++) {
boxList.get(i).setOnCheckedChangeListener(this);
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
for (int j = 0; j < boxList.size(); j++) {
boxList.get(j).setChecked(false);
}
buttonView.setChecked(isChecked);
}
}
别忘了要实现这个接口 implements OnCheckedChangeListener
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144952.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...