我正在用android编写一个Activity,在RadioGroup下面有两个单选按钮。默认情况下会选中其中一个。但是我不能在onCreate方法中触发事件,这样我就可以在其中做一些事情。单击时,onCheckedChanged运行正常。
RadioGroup ItemtypeGroup = (RadioGroup) findViewById(R.id.rechargeItemtype);
RadioButton providerRadio = (RadioButton) findViewById(R.id.a);
providerRadio.performClick();
ItemtypeGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged (RadioGroup group,int checkedId){
Log.d("chk", "id" + checkedId);
if (checkedId == R.id.a) {
//some code
} else if (checkedId == R.id.b) {
//some code
}
}
});发布于 2013-08-31 00:53:16
要在初始化时触发默认的单选复选框,请执行以下操作。使用clearCheck方法将所有内容设置为未选中,然后设置处理程序,然后设置默认值,您的处理程序将被触发。
itemtypeGroup.clearCheck();然后像往常一样添加一个监听器...
itemtypeGroup
.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
Log.d("chk", "id" + checkedId);
if (checkedId == R.id.a) {
//some code
} else if (checkedId == R.id.b) {
//some code
}
}
});然后选中默认的单选按钮,监听程序就会触发。
rb = (RadioButton) view.findViewById(R.id.a);
rb.setChecked(true);祝好运
发布于 2016-01-24 05:30:03
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (checkedId == R.id.radioButton1) {
//do work when radioButton1 is active
} else if (checkedId == R.id.radioButton2) {
//do work when radioButton2 is active
} else if (checkedId == R.id.radioButton3) {
//do work when radioButton3 is active
}
}
});这对我很有效。希望是有帮助的
发布于 2017-02-21 19:18:37
试试这段代码。
在您的onCreate方法中声明此代码。
RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radiogroup);
radioGroup.clearCheck();
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton rb = (RadioButton) group.findViewById(checkedId);
if (null != rb && checkedId > -1) {
// checkedId is the RadioButton selected
switch (checkedId) {
case R.id.one:
// Do Something
break;
case R.id.two:
// Do Something
break;
case R.id.three:
// Do Something
break;
}
}
}
});希望这能有所帮助。
https://stackoverflow.com/questions/18536195
复制相似问题