Android组件之Radio与CheckBox
Android组件之Radio与CheckBox
介绍一下Android组件里面的RadioButton单选按钮与CheckBox复选框的使用,并且怎么监听其状态;RadioButton选项按钮可用于多选一的应用中,如果想在选中莫一个选项按钮后,其它的选项按钮都被设未选中状态,需将RadioButton标签放在RadioGroup标签中。
例如:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Radio Demo" />
- <RadioGroup
- android:id="@+id/sexRg"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:checkedButton="@+id/female"
- android:orientation="vertical" >
- <RadioButton
- android:id="@id/female"
- android:text="女" />
- <RadioButton
- android:id="@+id/male"
- android:text="男" />
- </RadioGroup>
- </LinearLayout>
在代码中监听单选框状态,
- package cn.class3g.activity;
- import android.app.Activity;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.RadioButton;
- import android.widget.RadioGroup;
- import android.widget.RadioGroup.OnCheckedChangeListener;
- public class RadioDemo extends Activity implements
- OnCheckedChangeListener {
- RadioGroup rg = null;
- private static final String TAG = "TAG";
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.radio_layout);
- findViews();
- // 指定某个选项被选中
- rg.check(R.id.male);
- // 获取当前选项组中被选中的选项的id
- int checkedId = rg.getCheckedRadioButtonId();
- RadioButton rb = (RadioButton) this.findViewById(checkedId);
- Log.i(TAG, rb.getText().toString());//通过日志打印出被选中的选项
- }
- private void findViews() {
- rg = (RadioGroup) this.findViewById(R.id.sexRg);
- // 注册监听器
- rg.setOnCheckedChangeListener(this);
- }
- // 覆盖OnCheckedChangeListener接口的抽象方法
- public void onCheckedChanged(RadioGroup group, int checkedId) {
- if (group.getId() == R.id.sexRg) {
- RadioButton rb = (RadioButton) this.findViewById(checkedId);
- Log.i(TAG, rb.getText().toString());//用日志打印出被选中的选项
- }
- }
- }
|
评论暂时关闭