1.RadioButton选中不可以取消选择。
2.RadioGroup中包含多个RadioButton,并且使用的onCheckedChangeListener是RadioGroup的onCheckedChangeListener,而不是RadioButtonCompoundButton.OnCheckedChangeListener。这里一定要注意不然会有问题。
rbtn1.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton arg0, boolean arg1) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "你选中的是"+arg0.getText().toString(), 3333).show(); } });
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup arg0, int arg1) { // TODO Auto-generated method stub if(arg1 == R.id.radioMale){ Toast.makeText(MainActivity.this, "你选中的是男", 3333).show(); }else if(arg1 == R.id.radioFemale){ Toast.makeText(MainActivity.this, "你选中的是女", 3333).show(); } } });
3.RadioGroup的默认值为第一个RadioButton。
4.RadioGroup.OnCheckedChangeListener(RadioGroup arg0, int arg1),这里的第一个参数就是被选中的这个RadioGroup,第二个参数非常的重要
它是被选中的RadioButton的id,可以直接和R.id.radiobutton作比较。
5.checkBox选中后可以取消。
cb1.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton arg0, boolean arg1) { // TODO Auto-generated method stub if(arg1){ Toast.makeText(MainActivity.this, "你选中了", 3333).show(); }else{ Toast.makeText(MainActivity.this, "你取消选中了", 3333).show(); } } }); }