您好,登錄后才能下訂單哦!
RadioGroup和CheckBox是android的常用控件,本文自做簡單介紹和學習筆記,所以所用的控件樣式選用android默認的樣式。
先看下代碼實現的效果圖
圖中,上面兩個(male和female)為一個RadioGroup中的兩個RadioButton,下面三個為CheckBox。
一個RadioGroup里面的內容只可單選,CheckBox可多選。
接下來是代碼部分
布局文件代碼activity_main.xml :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.jam.radiogroupandcheckbox.MainActivity" > <RadioGroup android:id="@+id/id_radiogroup" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioButton android:id="@+id/id_radiobutton_male" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="male" /> <RadioButton android:id="@+id/id_radiobutton_female" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="female" /> </RadioGroup> <CheckBox android:id="@+id/id_checkbox_one" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="one" /> <CheckBox android:id="@+id/id_checkbox_two" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="two" /> <CheckBox android:id="@+id/id_checkbox_three" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="three" /> </LinearLayout>
采用的是線性布局,代碼比較簡單,就是一個RadioGroup包含了兩個RadioButton(想要多少RadioButton就加多少個),還有三個CheckBox。
接下來是MainActivity.java :
package com.jam.radiogroupandcheckbox; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; public class MainActivity extends Activity { //聲明控件 private RadioGroup radioGroup; private CheckBox checkBox_one; private CheckBox checkBox_two; private CheckBox checkBox_three; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); radioGroup = (RadioGroup) findViewById(R.id.id_radiogroup); checkBox_one = (CheckBox) findViewById(R.id.id_checkbox_one); checkBox_two = (CheckBox) findViewById(R.id.id_checkbox_two); checkBox_three = (CheckBox) findViewById(R.id.id_checkbox_three); /** * radioGroup綁定一個匿名內部類android.widget.RadioGroup.OnCheckedChangeListener */ radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.id_radiobutton_male: Log.i("radioGroup", "male"); break; case R.id.id_radiobutton_female: Log.i("radioGroup", "female"); break; } } }); //給三個CheckBox綁定監聽器 checkBox_one.setOnCheckedChangeListener(new myOnCheckedChangeListener()); checkBox_two.setOnCheckedChangeListener(new myOnCheckedChangeListener()); checkBox_three.setOnCheckedChangeListener(new myOnCheckedChangeListener()); } /** * 注意CheckBox綁定的Listener是android.widget.CompoundButton.OnCheckedChangeListener * @author jam * */ private class myOnCheckedChangeListener implements android.widget.CompoundButton.OnCheckedChangeListener { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { switch (buttonView.getId()) { case R.id.id_checkbox_one: Log.i("checkbox", "one"); break; case R.id.id_checkbox_two: Log.i("checkbox", "two"); break; case R.id.id_checkbox_three: Log.i("checkbox", "three"); break; } } } }
以上便是RadioGroup和CheckBox的簡單使用方式,RadioGroup和CheckBox獲取選擇的內容和其他用途網上已有許多資源,在此就不再介紹。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。