這次我們講RadioButton和CheckBox控制項,首先我們講RadioButton控制項。
相信大家一定看過西遊記,裡面有妖精抓唐僧的情境,我們就用這兩個控制項來類比一下,RadionButton控制項呢是說每次妖精只能抓一個人,每次一個,抓幾個就得抓幾次,這可把妖精們忙壞了,呵呵
我們看一下main.xml中的代碼呢:
view plain
<?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/radioGroup1"
android:layout_width="wrap_content" android:layout_height="wrap_content">
<RadioButton android:layout_height="wrap_content"
android:layout_width="wrap_content" android:text="唐僧" android:id="@+id/tangseng"/>
<RadioButton android:id="@+id/wukong" android:text="孫悟空"
android:layout_width="wrap_content" android:layout_height="wrap_content"/>
<RadioButton android:layout_height="wrap_content"
android:layout_width="wrap_content" android:text="豬八戒" android:id="@+id/bajie"/>
<RadioButton android:layout_height="wrap_content"
android:layout_width="wrap_content" android:text="沙和尚" android:id="@+id/shaseng"/>
</RadioGroup>
<Button android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="按鈕" android:id="@+id/button"></Button>
<TextView android:layout_height="wrap_content"
android:layout_width="fill_parent" android:text="@string/hello"
android:id="@+id/text"></TextView>
</LinearLayout>
Activity中的java代碼如下:
view plain
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.TextView;
public class ButtonDemoActivity extends Activity implements OnClickListener
{
private TextView text = null;
private RadioButton tangseng;
private RadioButton wukong;
private RadioButton bajie;
private RadioButton shaseng;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main); www.2cto.com
// 通過ID尋找到main.xml中的TextView控制項
text = (TextView) findViewById(R.id.text);
//唐僧單選框
tangseng = (RadioButton)findViewById(R.id.tangseng);
//悟空單選框
wukong = (RadioButton)findViewById(R.id.wukong);
//八戒單選框
bajie = (RadioButton)findViewById(R.id.bajie);
//沙僧單選框
shaseng = (RadioButton)findViewById(R.id.shaseng);
// 通過ID尋找到main.xml中的Button控制項
Button button = (Button) findViewById(R.id.button);
// 為Button控制項增加單擊監聽器
button.setOnClickListener(this);
}
private void updateText(String string)
{
// 將文本資訊設定給TextView控制項顯示出來
text.setText(string);
}
@Override
public void onClick(View v)
{
String str = "";
//唐僧單選框被選中
if(tangseng.isChecked()){
str += "唐僧~";
}
//悟空單選框被選中
if(wukong.isChecked()){
str += "悟空~";
}
//八戒單選框被選中
if(bajie.isChecked()){
str += "八戒~";
}
//沙僧單選框被選中
if(shaseng.isChecked()){
str += "沙僧~";
}
//沒有人被選中
if(str.equals("")){
str += "沒有人";
}
str +="被妖精抓走了!";
updateText(str);
}
}
每次只抓一個多麻煩啊,有妖精想了,我本領高強,我一次多抓幾個,這樣省事多了,這下,我們就用到了CheckBox控制項啦。
main.xml代碼如下:
view plain
<?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">
<CheckBox android:text="唐僧" android:id="@+id/tangseng"
android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox>
<CheckBox android:text="孫悟空" android:id="@+id/wukong"
android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox>
<CheckBox android:text="豬八戒" android:id="@+id/bajie"
android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox>
<CheckBox android:text="沙和尚" android:id="@+id/shaseng"
android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox>
<Button android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="按鈕" android:id="@+id/button"></Button>
<TextView android:layout_height="wrap_content"
android:layout_width="fill_parent" android:text="@string/hello"
android:id="@+id/text"></TextView>
</LinearLayout>
Activity中的java代碼如下:
view plain
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
public class ButtonDemoActivity extends Activity implements OnClickListener
{
private TextView text = null;
private CheckBox tangseng;
private CheckBox wukong;
private CheckBox bajie;
private CheckBox shaseng;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 通過ID尋找到main.xml中的TextView控制項
text = (TextView) findViewById(R.id.text);
//唐僧複選框
tangseng = (CheckBox)findViewById(R.id.tangseng);
//悟空複選框
wukong = (CheckBox)findViewById(R.id.wukong);
//八戒複選框
bajie = (CheckBox)findViewById(R.id.bajie);
//沙僧複選框
shaseng = (CheckBox)findViewById(R.id.shaseng);
// 通過ID尋找到main.xml中的Button控制項
Button button = (Button) findViewById(R.id.button);
// 為Button控制項增加單擊監聽器
button.setOnClickListener(this);
}
private void updateText(String string)
{
// 將文本資訊設定給TextView控制項顯示出來
text.setText(string);
}
@Override
public void onClick(View v)
{
String str = "";
//唐僧複選框被選中
if(tangseng.isChecked()){
str += "唐僧~";
}
//悟空複選框被選中
if(wukong.isChecked()){
str += "悟空~";
}
//八戒複選框被選中
if(bajie.isChecked()){
str += "八戒~";
}
//沙僧複選框被選中
if(shaseng.isChecked()){
str += "沙僧~";
}
//沒有人被選中
if(str.equals("")){
str += "沒有人";
}
str +="被妖精抓走了!";
updateText(str);
}
}
哈哈,這下妖精們高興了,一次把四個都抓走都行了?什嗎?四個都抓走了,那誰救唐僧啊?放心,你看西遊記最後唐僧不也是沒被妖精吃掉嘛,高人自有人相救,呵呵,囉嗦了,這一篇就到這裡吧
摘自:kangkangz4的專欄