用于radiogroup的android onCheckedChanged

use*_*310 23 android radio-group radio-button

Activity在android中写了一个我在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
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

dan*_*117 43

在初始化时触发默认的无线电复选框.使用clearCheck方法将所有内容设置为未选中,然后设置处理程序,然后设置默认值,您的处理程序将触发.

itemtypeGroup.clearCheck();
Run Code Online (Sandbox Code Playgroud)

然后像往常一样添加一个听众......

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
                }

            }

        });
Run Code Online (Sandbox Code Playgroud)

然后检查默认单选按钮,您的听众将会触发.

rb = (RadioButton) view.findViewById(R.id.a);
rb.setChecked(true);
Run Code Online (Sandbox Code Playgroud)

祝好运


May*_*m R 9

 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
          }

        }
    });
Run Code Online (Sandbox Code Playgroud)

这项工作对我来说.希望是有帮助的


The*_*awk 5

试试这个代码。

在您的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;
                }
            }
        }

    });
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。