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); } } }

浙公网安备 33010602011771号