Android 之 RadioBox

    单项选择是一个基本的控件,使用简单。Android的单项选择是通过RadioGroup ,RadioButton 来组合成一个单项选择效果的。下面以一个实例来演示。

 

1:新建一个RadioButtonDemo的工程。

2:布局文件如下:

<?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" > <TextView android:text="@+id/TextView01" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <RadioGroup android:id="@+id/RadioGroup01" android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:text="@+id/RadioButton01" android:id="@+id/RadioButton01" android:layout_width="wrap_content" android:layout_height="wrap_content"></RadioButton> <RadioButton android:text="@+id/RadioButton02" android:id="@+id/RadioButton02" android:layout_width="wrap_content" android:layout_height="wrap_content"></RadioButton> <RadioButton android:text="@+id/RadioButton03" android:id="@+id/RadioButton03" android:layout_width="wrap_content" android:layout_height="wrap_content"></RadioButton> <RadioButton android:text="@+id/RadioButton04" android:id="@+id/RadioButton04" android:layout_width="wrap_content" android:layout_height="wrap_content"></RadioButton> </RadioGroup> </LinearLayout>

 

3:源文件代码如下

 

package com.rocky.stuido.ch425; import android.app.Activity; import android.os.Bundle; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; import android.widget.Toast; public class RadioButtonDemo extends Activity { private RadioGroup m_RadioGroup; private RadioButton m_Button1; private RadioButton m_Button2; private RadioButton m_Button3; private RadioButton m_Button4; private TextView m_txtView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); m_txtView = (TextView) this.findViewById(R.id.TextView01); m_Button1 = (RadioButton) this.findViewById(R.id.RadioButton01); m_Button2 = (RadioButton) this.findViewById(R.id.RadioButton02); m_Button3 = (RadioButton) this.findViewById(R.id.RadioButton03); m_Button4 = (RadioButton) this.findViewById(R.id.RadioButton04); m_RadioGroup = (RadioGroup) this.findViewById(R.id.RadioGroup01); m_txtView.setText("Android是基于什么操作系统?"); m_Button1.setText("Windows "); m_Button2.setText("Linux "); m_Button3.setText("Macros "); m_Button4.setText("Java "); m_RadioGroup.setOnCheckedChangeListener(m_RadioGroupChangeListener); } private RadioGroup.OnCheckedChangeListener m_RadioGroupChangeListener = new RadioGroup.OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub if (group.getId() == R.id.RadioGroup01) { if (checkedId == R.id.RadioButton02) { Toast.makeText(getBaseContext(), "恭喜你答对了", Toast.LENGTH_SHORT) .show(); } else { Toast.makeText(getBaseContext(), "请注意,回答错误", Toast.LENGTH_SHORT) .show(); } } } }<textarea name="code" class="c-sharp" cols="50" rows="15">package com.rocky.stuido.ch425; import android.app.Activity; import android.os.Bundle; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; import android.widget.Toast; public class RadioButtonDemo extends Activity { private RadioGroup m_RadioGroup; private RadioButton m_Button1; private RadioButton m_Button2; private RadioButton m_Button3; private RadioButton m_Button4; private TextView m_txtView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); m_txtView = (TextView) this.findViewById(R.id.TextView01); m_Button1 = (RadioButton) this.findViewById(R.id.RadioButton01); m_Button2 = (RadioButton) this.findViewById(R.id.RadioButton02); m_Button3 = (RadioButton) this.findViewById(R.id.RadioButton03); m_Button4 = (RadioButton) this.findViewById(R.id.RadioButton04); m_RadioGroup = (RadioGroup) this.findViewById(R.id.RadioGroup01); m_txtView.setText("Android是基于什么操作系统?"); m_Button1.setText("Windows "); m_Button2.setText("Linux "); m_Button3.setText("Macros "); m_Button4.setText("Java "); m_RadioGroup.setContentDescription("setContentDescription"); m_RadioGroup.check(R.id.RadioButton01);//默认值 m_RadioGroup.setOnCheckedChangeListener(m_RadioGroupChangeListener); } private RadioGroup.OnCheckedChangeListener m_RadioGroupChangeListener = new RadioGroup.OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub if (group.getId() == R.id.RadioGroup01) { if (checkedId == R.id.RadioButton02) { Toast.makeText(getBaseContext(), "恭喜你答对了", Toast.LENGTH_SHORT) .show(); } else { Toast.makeText(getBaseContext(), "请注意,回答错误", Toast.LENGTH_SHORT) .show(); } } } }; } 

 

 

4:可以看的出来,控件的光荣传统,简单好用。

通过RadioGroup 和RadioButton的配合。一个单选选择很简单。

 

 

 

你可能感兴趣的:(android,layout,Class,button,RadioButton,macros)