Android UI设计 RadioGroup单选按钮用法

原文地址:http://www.pocketdigi.com/20100809/18.html

RadioGroup单选按钮用法,还是先看效果图
Android UI设计 RadioGroup单选按钮用法_第1张图片
先中后,点RadioGroup测试按钮,可在标题栏显示选择结果,点清除可以清除选择。
下面上代码,main.xml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<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="清除"
/>

程序代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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,来确定被点中的选项。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        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();
				}
 
 
			}
 
        });

你可能感兴趣的:(UI,android,测试,layout,button,RadioButton)