要完成单选框显示,我们需要使用到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"/><RadioButtonandroid:id="@+id/main_tab_car"style="@style/main_tab_bottom"android:drawableTop="@drawable/main_navigation_car"android:text="@string/main_navigation_car"/><RadioButtonandroid:id="@+id/main_tab_buy"style="@style/main_tab_bottom"android:drawableTop="@drawable/main_navigation_personal"android:text="@string/main_code_buy"/><RadioButtonandroid:id="@+id/main_tab_more"style="@style/main_tab_bottom"android:drawableTop="@drawable/main_navigation_more"android:text="@string/main_navigation_more"/></RadioGroup>