android之单选框

直接上代码

一、更改系统样式

layout

    

    

        

        

    

    
checkbox_style_background.xml



    

    

checkbox_unselect.xml



    

    

    

    

checkbox_select.xml




    

    

    

    

效果

android之单选框_第1张图片

做了简单的样式调整demo

二、获取

有两种方式

  • 改变的时候获取,需要为每个RadioButton都设置id,根据选中的RadioButton Id获取值
RadioGroup radgroup = (RadioGroup) findViewById(R.id.radioGroup);
        //第一种获得单选按钮值的方法  
        //为radioGroup设置一个监听器:setOnCheckedChanged()  
        radgroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                RadioButton radbtn = (RadioButton) findViewById(checkedId);
                Toast.makeText(getApplicationContext(), "按钮组值发生改变,你选了" + radbtn.getText(), Toast.LENGTH_LONG).show();
            }
        });
  • 提交的时候获取,不需要为每个RadioButton都设置id,直接循环RadioGroup的孩子,判断是否被选中
Button btnchange = (Button) findViewById(R.id.btnpost);
        RadioGroup radgroup = (RadioGroup) findViewById(R.id.radioGroup);
        //为radioGroup设置一个监听器:setOnCheckedChanged()  
        btnchange.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                for (int i = 0; i < radgroup.getChildCount(); i++) {
                    RadioButton rd = (RadioButton) radgroup.getChildAt(i);
                    if (rd.isChecked()) {
                        Toast.makeText(getApplicationContext(), "点击提交按钮,获取你选择的是:" + rd.getText(), Toast.LENGTH_LONG).show();
                        break;
                    }
                }
            }
        });

 

你可能感兴趣的:(android)