Android基础——RadioGroup

来源:互联网 发布:网络营销策划论文 编辑:程序博客网 时间:2024/06/10 01:02
 

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

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

1234567891011121314151617181920212223242526272829303132
<RadioGroupandroid: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="清除"/>

程序代码:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
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(){ @Overridepublic void onClick(View v) {// TODO Auto-generated method stubrg.clearCheck();setTitle("RadioGroup测试");}     };    private OnClickListener show=new OnClickListener(){ @Overridepublic void onClick(View v) {// TODO Auto-generated method stubif(b1.isChecked()){setTitle("1");}if(b2.isChecked()){setTitle("2");}if(b3.isChecked()){setTitle("3");}}     };}

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

12345678910111213141516171819
        rg.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {// TODO Auto-generated method stubif(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();}  }         });
原创粉丝点击