Android基础控件之单选框(RadioButton)

来源:互联网 发布:淘宝客服企业介绍范文 编辑:程序博客网 时间:2024/05/21 10:41

要完成单选框显示,我们需要使用到RadioGroup和RadioButton(单选框),

RadioGroup用于对单选框进行分组,相同组内的单选框只有一个单选框能被选中。(例子代码请见下方备注栏) 

RadioGroup.check(R.id.dotNet);将id名为dotNet的单选框设置成选中状态。

(RadioButton) findViewById(radioGroup.getCheckedRadioButtonId());//获取被选中的单选框。

调用setOnCheckedChangeListener()方法,处理单选框被选择事件,把RadioGroup.OnCheckedChangeListener实例作为参数传入  
界面设计

<?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/radioGroup"   xmlns:android="http://schemas.android.com/apk/res/android"   android:layout_width="wrap_content"   android:layout_height="wrap_content"> <RadioButton android:id="@+id/java"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="java" />     <RadioButton android:id="@+id/dotNet"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="dotNet" />     <RadioButton android:id="@+id/php"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="PHP" /> </RadioGroup> </LinearLayout> 
处理程序: 
public void onCreate(Bundle savedInstanceState) {        ......         RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup);          radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {             public void onCheckedChanged(RadioGroup group, int checkedId) {                 RadioButton radioButton = (RadioButton) findViewById(checkedId);                 Log.i(TAG, String.valueOf(radioButton.getText()));             }         }); }

另外附上一例:

private RadioButton homeBtn,catagoryBtn,carBtn,moreBtn,buyBtn;homeBtn = (RadioButton)findViewById(R.id.main_tab_home);catagoryBtn = (RadioButton)findViewById(R.id.main_tab_catagory);carBtn = (RadioButton)findViewById(R.id.main_tab_car);buyBtn = (RadioButton)findViewById(R.id.main_tab_buy);moreBtn = (RadioButton)findViewById(R.id.main_tab_more);OnClickListener handle =  new OnClickListener(){public void onClick(View v){switch(v.getId()){case R.id.main_tab_home:tabHost.setCurrentTabByTag("home");break;case R.id.main_tab_catagory:tabHost.setCurrentTabByTag("catagory");break;case R.id.main_tab_car:tabHost.setCurrentTabByTag("car");break;case R.id.main_tab_buy:tabHost.setCurrentTabByTag("buy");break;case R.id.main_tab_more:tabHost.setCurrentTabByTag("more");break;}}};homeBtn.setOnClickListener(handle);catagoryBtn.setOnClickListener(handle);carBtn.setOnClickListener(handle);buyBtn.setOnClickListener(handle);moreBtn.setOnClickListener(handle);


<RadioGroup         android:id="@+id/main_tab_group"         android:layout_width="fill_parent"                android:layout_height="wrap_content"                android:layout_gravity="bottom"                android:gravity="bottom"                android:background="@drawable/main_navigation_background"                android:orientation="horizontal"                android:paddingTop="2.0dip">        <RadioButton             android:id="@+id/main_tab_home"            android:checked="true"            style="@style/main_tab_bottom"            android:drawableTop="@drawable/main_navigation_home"            android:text="@string/main_navigation_home"/>        <RadioButton             android:id="@+id/main_tab_catagory"            style="@style/main_tab_bottom"            android:drawableTop="@drawable/main_navigation_catagory"            android:text="@string/main_navigation_catagory"/>        <RadioButton            android:id="@+id/main_tab_car"            style="@style/main_tab_bottom"            android:drawableTop="@drawable/main_navigation_car"            android:text="@string/main_navigation_car"/>        <RadioButton            android:id="@+id/main_tab_buy"            style="@style/main_tab_bottom"            android:drawableTop="@drawable/main_navigation_personal"            android:text="@string/main_code_buy"/>        <RadioButton            android:id="@+id/main_tab_more"            style="@style/main_tab_bottom"            android:drawableTop="@drawable/main_navigation_more"            android:text="@string/main_navigation_more"/>    </RadioGroup>