安卓初学:Radio单选框和checkBox多选控件的主要用法以及事件绑定总结

Radio单选框,我们很常见,选择男女的时候我们经常要用它,他的特点就是只能选择一个,在html中,多个选项使得radio只能选择一个我们需要使它们的id相同,SWT中我们把它们放入一个group中。

安卓中也一样在RadioGroup中这只多个radio,就能确保用户做出单选。

在MainActivity.java中对radio绑定事件 我们要用到的是OnCheckedChangeListener方法。下面是代码以及注释:

package com.example.radiobg;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.Toast;

public class MainActivity extends Activity implements OnCheckedChangeListener{
	private RadioGroup rg;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		rg=(RadioGroup) findViewById(R.id.radioGroup1);
		
		//实现监听事件 
		
		rg.setOnCheckedChangeListener(this);
		
	}

	@Override
	public void onCheckedChanged(RadioGroup group, int checkedId) {
		switch (checkedId) {
		case R.id.radio0:
			Toast.makeText(MainActivity.this, "我选择的是男!", 1).show();
			break;
		case R.id.radio1:
			Toast.makeText(MainActivity.this, "我选择的是女!", 1).show();
			break;

		default:
			Toast.makeText(MainActivity.this, "没有选择!", 1).show();
			break;
		}
	}

}

CheckBox多选按钮和Radio差不多,用的监听事件也是OnCheckedChangeListener。

在layout里布局好CheckBox之后下面是MainActivity.java 文件的代码以及注释:

package com.example.checkbox1;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.CheckBox;
import android.widget.Checkable;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;

public class MainActivity extends Activity {
    private CheckBox cb; 
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//第一步 依旧初始化
		cb=(CheckBox) findViewById(R.id.checkBox1);
		
		// 通过设置checkbox的监听事件来对checkbox是不是备选中了
		
		cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			
		
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				// 通过onCheckedChanged 来监听当前的checkbox是否选中
				Log.i("tag", isChecked+"");
				if(isChecked){
					//选中,获得checkbox文本内容
					String text=cb.getText().toString();
					Log.i("tag", text);
				}
			}
		});
		
	}



}


你可能感兴趣的:(Android)