1.CheckBox有一个监听器OnChangedListener,每次选择checkbox都会触发这个事件,
里边有一个参数isChecked,就是判断checkbox是否已经选上了的,可以在这判断:如果已经选上了就让其他的checkbox的setChecked设置为false。、
下面是b4[5]的一个checkbox组合实现互斥。因为监听是在事件发生之后,所以说如果让他选中,则在监听的时候,就把除了他之外所有其他的checkbox都置为false;
b4[0].setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked) { for(int i = 0; i < 5; i++) { if(i != 0) { if(b4[i].isChecked()) b4[i].setChecked(false); } } } } }); b4[1].setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked) { for(int i = 0; i < 5; i++) { if(i != 1) { if(b4[i].isChecked()) b4[i].setChecked(false); } } } } }); /* b1[1].setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { for(int i = 0; i < 5; i++) { if (i != 1) b1[i].setChecked(false); } if (!b1[1].isPressed()) b1[1].setChecked(true); } });*/ b4[2].setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked) { for(int i = 0; i < 5; i++) { if(i != 2) { if(b4[i].isChecked()) b4[i].setChecked(false); } } } } }); b4[3].setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked) { for(int i = 0; i < 5; i++) { if(i != 3) { if(b4[i].isChecked()) b4[i].setChecked(false); } } } } }); b4[4].setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked) { for(int i = 0; i < 5; i++) { if(i != 4) { if(b4[i].isChecked()) b4[i].setChecked(false); } } } } });
2.android端验证码登录,传session的时候注意要把sessionID传过来,要不然会不匹配。