android RadioGroup控件学习

1. 布局控件。

RadioGroup 控件是一个控件组,基本格式如:

<RadioGroup 
        android:id="@+id/radioGroup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <RadioButton 
            android:id="@+id/radio_01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="radio_01"
            />
        <RadioButton 
            android:id="@+id/radio_02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="radio_02"
            />
    </RadioGroup>

 

 RadioButton包含在RadioGroup控件组里面,一个RadioGroup可以有多个子级RadioButton,但只能选择一个。

2. 事件监听

可以有两种监听,一种是监听整个RadioGroup,和单独监听单个RadioButton。

RadigoGroup可以实现OnCheckedChangeListener监听器方法,onCheckedChanged(RadioGroup group, int checkedId) ,传入的参数group为当前控件组,checkedId是为当点点击触发的RadioButton。

RadioButton可以实现android.widget.CompoundButton.OnCheckedChangeListener监听器方法,

public void onCheckedChanged(CompoundButton buttonView,
                boolean isChecked) {
            System.out.println("ischecked:"+ isChecked);
            
        }

buttonView当前的控件,isChecked是否用被选择了。

 

3. 完整代码示意

public class MainActivity extends Activity {

    private RadioGroup radioGroup;
    private RadioButton radio_01;
    private RadioButton radio_02;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        radioGroup = (RadioGroup)findViewById(R.id.radioGroup);
        radio_01 = (RadioButton)findViewById(R.id.radio_01);
        RadioGroupListener radioGroupListener = new RadioGroupListener();
        RadioButtonListener radioButtonListener  = new RadioButtonListener();
        
        radioGroup.setOnCheckedChangeListener(radioGroupListener);
        radio_01.setOnCheckedChangeListener(radioButtonListener);
        
    }

  //  class RadioGroupListener implements On
    class RadioGroupListener implements OnCheckedChangeListener
    {

        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            // TODO Auto-generated method stub
             //获取变更后的选中项的ID
            int radioButtonId = group.getCheckedRadioButtonId();
            //根据ID获取RadioButton的实例
            RadioButton rb = (RadioButton)MainActivity.this.findViewById(radioButtonId);
            
            System.out.println("您选择的是:" + rb.getText());
        }
        
    }
    
    class RadioButtonListener implements android.widget.CompoundButton.OnCheckedChangeListener
    {

        @Override
        public void onCheckedChanged(CompoundButton buttonView,
                boolean isChecked) {
            System.out.println("ischecked:"+ isChecked);
            
        }
        
    }
     
    
}

 

posted @ 2013-05-27 11:08  oscar.liu  阅读(214)  评论(0)    收藏  举报