這兩個控制項就是提供給使用者進行選擇的時候一種好的體驗:比如有時候不需要使用者親自輸入,那麼我們就提供給使用者操作更快捷的選項。選項按鈕(RadioButton)就是在這個選項中,使用者只能選擇一個選項。而複選框(CheckBox)控制項顧名思義就是可以選擇多個選項。下面就介紹這兩個控制項。 5.2.1樣本: 樣本一:RadioButton控制項的用法(這裡採用布局檔案方法來示範,先說明RadioButton的用法): <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <!--這裡是定義了一組RadioButton,然後分為三個選項--> <RadioButton android:id="@+id/first_radiobutton" android:checked="true" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="onAction" android:text="男" /> <RadioButton android:id="@+id/second_radiobutton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="onAction" android:text="女" /> <RadioButton android:id="@+id/third_radiobutton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="onAction" android:text="其他" /> </LinearLayout> 這上面是給出的布局檔案的代碼,這裡主要是實現圖5.1的布局介面,而真正要實現功能的代碼不在這塊。上述代碼中的:android:checked="true"; 是用來設定預設選中的那個選項,而android:onClick="onAction"是設定監聽事件方法,在java代碼中實現。這裡可以使用RadioGroup要定義一組按鈕,也就是說,在這一個組內,選項有用。這裡採用java代碼實現。代碼如下: package xbb.bzq.android.app; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.RadioButton; public class RadioButtonAndCheckBoxTestActivity extends Activity { //定義三個RadioButton變數 private RadioButton mButton1, mButton2, mButton3; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //執行個體化三個選項按鈕控制項 mButton1 = (RadioButton) findViewById(R.id.first_radiobutton); mButton2 = (RadioButton) findViewById(R.id.second_radiobutton); mButton3 = (RadioButton) findViewById(R.id.third_radiobutton); } /** * 這是實現的監聽方法,主要是實現修改選項的值 * @param v */ public void onAction(View v) { //通過擷取id來判斷使用者的選擇,然後改變控制項的選擇狀態 switch (v.getId()) { case R.id.first_radiobutton: mButton2.setChecked(false); mButton3.setChecked(false); mButton1.setChecked(true); break; case R.id.second_radiobutton: mButton1.setChecked(false); mButton3.setChecked(false); mButton2.setChecked(true); break; case R.id.third_radiobutton: mButton2.setChecked(false); mButton1.setChecked(false); mButton3.setChecked(true); break; } } }