Android UI设计 RadioGroup单选按钮用法

RadioGroup单选按钮用法,还是先看效果图

先中后,点RadioGroup测试按钮,可在标题栏显示选择结果,点清除可以清除选择。
下面上代码,main.xml:


<RadioGroup
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
    android:orientation="vertical"
    android:checkedButton="@+id/b1"
    android:id="@+id/RG">
<!--默认选中b1-->
    <RadioButton 
    	android:text="1"
    	android:id="@+id/b1"
    />
     <RadioButton 
    	android:text="2"
    	android:id="@+id/b2"
    />
     <RadioButton 
    	android:text="3"
    	android:id="@+id/b3"
    />
</RadioGroup>
<Button 
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:id="@+id/show"
	android:text="RadioGroup测试"
/>
<Button 
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:id="@+id/clear"
	android:text="清除"
/>

程序代码:


package com.pocketdigi;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;

public class main extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTitle("RadioGroup测试");
        setContentView(R.layout.main);
        RGDemo();
    }
    RadioGroup rg;
    RadioButton b1;
    RadioButton b2;
    RadioButton b3;
    public void RGDemo(){
    	rg=(RadioGroup)findViewById(R.id.RG);
    	b1=(RadioButton)findViewById(R.id.b1);
    	b2=(RadioButton)findViewById(R.id.b2);
    	b3=(RadioButton)findViewById(R.id.b3);
    	Button clr=(Button)findViewById(R.id.clear);
    	clr.setOnClickListener(clear);
    	Button echo=(Button)findViewById(R.id.show);
    	echo.setOnClickListener(show);
    }
    private Button.OnClickListener clear=new OnClickListener(){

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			rg.clearCheck();
			setTitle("RadioGroup测试");
		}
    	
    };
    private OnClickListener show=new OnClickListener(){

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			if(b1.isChecked()){
				setTitle("1");
			}
			if(b2.isChecked()){
				setTitle("2");
			}
			if(b3.isChecked()){
				setTitle("3");
			}
		}
    	
    };
}

RadioGroup有一个onCheckChangeListener监听器,可以通过监听器的onCheckedChanged方法捕捉到点击事件,onCheckedChanged方法会传入一个int型的checkedId,可以通过对比传入的checkedId和RadioButton的ID,来确定被点中的选项。


        rg.setOnCheckedChangeListener(new OnCheckedChangeListener(){

			@Override
			public void onCheckedChanged(RadioGroup group, int checkedId) {
				// TODO Auto-generated method stub
				if(checkedId==b1.getId()){
					Toast.makeText(main.this,"b1选中", Toast.LENGTH_LONG).show();
				}
				if(checkedId==b2.getId()){
					Toast.makeText(main.this,"b2选中", Toast.LENGTH_LONG).show();
				}
				if(checkedId==b3.getId()){
					Toast.makeText(main.this,"b3选中", Toast.LENGTH_LONG).show();
				}
				
				
			}
        	
        });

© 2010 – 2011, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记