您的位置:首页 > 移动开发 > Android开发

常用的Android Widget组件学习③-checkbox和radiogroup的介绍和应用。

2010-08-06 17:06 585 查看

[b]一、checkbox的介绍与应用:


多项选择(checkbox)介绍和应用
首先在main.xml中定义一个Button

<Button 
android:text="CheckBox" 
android:id="@+id/check_box_button" 
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>

然后再WigetDemo.java里面给该Button添加监听器

Button check_box_button=(Button) findViewById(R.id.check_box_button);
  check_box_button.setOnClickListener(check_box_button_listener);

private Button.OnClickListener check_box_button_listener=new  Button.OnClickListener(){
    public void onClick(View v) {
    Intent intent=new Intent();
    intent.setClass(WidgetDemo.this, CheckBoxActivity.class);
    startActivity(intent);
    }
   };


建立有一个新的CheckBoxActivity,修改其oncreate()方法,如下代码:
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setTitle("CheckBoxActivity");
  setContentView(R.layout.checkbox);
  find_and_modify_check_box_view();
 }


再将其关联到checkbox.xml的布局模板上,





<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

<CheckBox 
android:text="zhao" 
android:id="@+id/zhao_cb" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
</CheckBox>
<CheckBox 
android:text="qian"
 android:id="@+id/qian_cb" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content">
 </CheckBox>
<CheckBox 

android:text="song" 
android:id="@+id/song_cb" 
android:layout_width="wrap_content"
 android:layout_height="wrap_content">
 </CheckBox>
<CheckBox 
android:text="li" 
android:id="@+id/li_cb" 
android:layout_width="wrap_content"
 android:layout_height="wrap_content">
 </CheckBox>
</LinearLayout>
然后在checkbox.xml中添加一个Button
 
<Button 
android:text="获取checkbox的值" 
android:id="@+id/get_view_button" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
</Button>

最后实现它的单击响应事件:

public class CheckBoxActivity extends Activity {
	CheckBox zhao_cb;
	CheckBox qian_cb;
	CheckBox song_cb;
	CheckBox li_cb;
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setTitle("CheckBoxActivity");
		setContentView(R.layout.checkbox);
		find_and_modify_get_view_button();
	}
	private void find_and_modify_get_view_button() {
	    zhao_cb = (CheckBox) findViewById(R.id.zhao_cb);
		qian_cb = (CheckBox) findViewById(R.id.qian_cb);
		song_cb = (CheckBox) findViewById(R.id.song_cb);
		li_cb = (CheckBox) findViewById(R.id.li_cb);
		Button get_view_button = (Button) findViewById(R.id.get_view_button);
		get_view_button.setOnClickListener(get_view_button_listener);
	}
	private Button.OnClickListener get_view_button_listener = new Button.OnClickListener() {
		public void onClick(View v) {
			String r="";
			/*switch (v.getId()) {
            case R.id.zhao_cb:
            	r=r+zhao_cb.getText();
            break;
        case R.id.qian_cb:
        	r=r+","+qian_cb.getText();
        case R.id.song_cb:
        	r=r+","+song_cb.getText();
        case R.id.li_cb:
        	r=r+","+li_cb.getText();
        default:
            break;
*/
			if(zhao_cb.isChecked()){
				r=r+zhao_cb.getText();
						}
			if(qian_cb.isChecked()){
				r=r+","+qian_cb.getText();
						}
			if(song_cb.isChecked()){
				r=r+","+song_cb.getText();
						}
			if(li_cb.isChecked()){
				r=r+","+li_cb.getText();
						}
			setTitle("Checked: "+r);
		}
		
			
	};


运行结果如下:







[/b]

二、单项选择(radiogroup)介绍和应用:
在main.xml中添加一个button

<Button 
android:text="RadioGroup" 
android:id="@+id/Button01" 
android:layout_width="wrap_content"
 android:layout_height="wrap_content">
 </Button>

这个button的响应时间:

Button radio_group_button=(Button) findViewById(R.id.radio_group_button);
        radio_group_button.setOnClickListener(radio_group_button_listener);

 

 private Button.OnClickListener radio_group_button_listener =new  Button.OnClickListener(){
    public void onClick(View v) {
    Intent intent=new Intent();
    intent.setClass(WidgetDemo.this, RadioGroupActivity.class);
    startActivity(intent);
    }
   };


在新建的RadioGroup当中修改其onCreate方法

public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setTitle("RadioGroupActivity");
  setContentView(R.layout.radiogroup);
  mRadioGroup=(RadioGroup) findViewById(R.id.menu);
  Button clearButton=(Button) findViewById(R.id.clear);
  clearButton.setOnClickListener(this);
 }
}

关联到radiogroup.xml上

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
 <RadioGroup 
 android:id="@+id/menu" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content"
 android:checkedButton="@+id/xia">
 
   <RadioButton 
android:text="chong" 
android:id="@+id/chong_rb" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
</RadioButton>
<RadioButton 
android:text="xia"
 android:id="@+id/xia_rb" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content">
 </RadioButton>
<RadioButton 
android:text="qiu"
 android:id="@+id/qiu_rb" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content">
 </RadioButton>
<RadioButton 
android:text="@+id/dong"
 android:id="@+id/dong_rb" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content">
 </RadioButton>
 </RadioGroup>
 <Button 
android:text="清除" 
android:id="@+id/clear" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
</Button>
</LinearLayout>

最后修改RadioGroupActivity.java
public class RadioGroupActivity extends Activity implements View.OnClickListener {
    private RadioGroup mRadioGroup;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.radio_group);
        setTitle("RadioGroupActivity");
        mRadioGroup = (RadioGroup) findViewById(R.id.menu);
        Button clearButton = (Button) findViewById(R.id.clear);
        clearButton.setOnClickListener(this);
    }

 

    public void onClick(View v) {
        mRadioGroup.clearCheck();
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: