RadioGroup单选按钮用法

原文地址为:RadioGroup单选按钮用法

RadioGroup单选按钮用法,还是先看效果图

RadioGroup单选按钮用法

先中后,点RadioGroup测试按钮,可在标题栏显示选择结果,点清除可以清除选择。
下面上代码,main.xml:

<RadioGroup
android:layout_width="fill_parent"
android:layout_height
="wrap_content"
android:orientation
="vertical"
android:checkedButton
="@+id/b1"
android:id
="@+id/RG">
<!--默认选中b1-->
<RadioButton
android:text="1"
android:id
="@+id/b1"
/>
<RadioButton
android:text="2"
android:id
="@+id/b2"
/>
<RadioButton
android:text="3"
android:id
="@+id/b3"
/>
</RadioGroup>
<Button
android:layout_width="fill_parent"
android:layout_height
="wrap_content"
android:id
="@+id/show"
android:text
="RadioGroup测试"
/>
<Button
android:layout_width="fill_parent"
android:layout_height
="wrap_content"
android:id
="@+id/clear"
android:text
="清除"
/>

程序代码:

package com.pocketdigi;

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.RadioGroup;

public class main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(
"RadioGroup测试");
setContentView(R.layout.main);
RGDemo();
}
RadioGroup rg;
RadioButton b1;
RadioButton b2;
RadioButton b3;
public void RGDemo(){
rg
=(RadioGroup)findViewById(R.id.RG);
b1
=(RadioButton)findViewById(R.id.b1);
b2
=(RadioButton)findViewById(R.id.b2);
b3
=(RadioButton)findViewById(R.id.b3);
Button clr
=(Button)findViewById(R.id.clear);
clr.setOnClickListener(clear);
Button echo
=(Button)findViewById(R.id.show);
echo.setOnClickListener(show);
}
private Button.OnClickListener clear=new OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
rg.clearCheck();
setTitle(
"RadioGroup测试");
}

};
private OnClickListener show=new OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(b1.isChecked()){
setTitle(
"1");
}
if(b2.isChecked()){
setTitle(
"2");
}
if(b3.isChecked()){
setTitle(
"3");
}
}

};
}

RadioGroup有一个onCheckChangeListener监听器,可以通过监听器的onCheckedChanged方法捕捉到点击事件,onCheckedChanged方法会传入一个int型的checkedId,可以通过对比传入的checkedId和RadioButton的ID,来确定被点中的选项.

 rg.setOnCheckedChangeListener(new OnCheckedChangeListener(){

@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
if(checkedId==b1.getId()){
Toast.makeText(main.
this,"b1选中", Toast.LENGTH_LONG).show();
}
if(checkedId==b2.getId()){
Toast.makeText(main.
this,"b2选中", Toast.LENGTH_LONG).show();
}
if(checkedId==b3.getId()){
Toast.makeText(main.
this,"b3选中", Toast.LENGTH_LONG).show();
}


}

});

出处:http://www.pocketdigi.com/20100809/18.html

 

 

 

 


转载请注明本文地址:RadioGroup单选按钮用法