随笔 - 51  文章 - 0  评论 - 7  阅读 - 49798

android 中单选和复选框监听操作

单选按钮RadioGroup、复选框CheckBox都有OnCheckedChangeListener事件,我们一起了解一下。

 

复制代码
 1 package com.genwoxue.oncheckedchanged;
 2 
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.widget.RadioGroup;
 6 import android.widget.RadioButton;
 7 import android.widget.RadioGroup.OnCheckedChangeListener;              //引入OnCheckedChangeListener事件相关包
 8 import android.widget.CheckBox;
 9 import android.widget.CompoundButton;
10 import android.widget.Toast;
11 
12 
13 public class MainActivity extends Activity {
14     private RadioGroup GenderGroup=null;
15     private RadioButton rbMale=null;
16     private RadioButton rbFemale=null;
17     private CheckBox cbFootBall=null;
18     private CheckBox cbBasketBall=null;
19     
20     @Override
21     protected void onCreate(Bundle savedInstanceState) {
22         super.onCreate(savedInstanceState);
23         setContentView(R.layout.activity_main);
24         
25         GenderGroup=(RadioGroup)super.findViewById(R.id.gender);
26         rbMale=(RadioButton)super.findViewById(R.id.male);
27         rbFemale=(RadioButton)super.findViewById(R.id.female);
28         cbFootBall=(CheckBox)super.findViewById(R.id.football);
29         cbBasketBall=(CheckBox)super.findViewById(R.id.basketball);
30         //在GenderGroup注册OnCheckedChangeListener事件
31                   GenderGroup.setOnCheckedChangeListener(new GenderOnCheckedChangeListener());
32                   //在cbFootBall注册OnCheckedChangeListener事件
33         cbFootBall.setOnCheckedChangeListener(new BootBallOnCheckedChangeListener());
34                   //在cbBasketBall注册OnCheckedChangeListener事件
35 
36         cbBasketBall.setOnCheckedChangeListener(new BasketBallOnCheckedChangeListener());
37     }
38     
39     private class GenderOnCheckedChangeListener implements OnCheckedChangeListener{
40         @Override
41         public void onCheckedChanged(RadioGroup group,int checkedId){
42             String sGender="";
43             if(rbFemale.getId()==checkedId){
44                 sGender=rbFemale.getText().toString();
45             }
46             if(rbMale.getId()==checkedId){
47                 sGender=rbMale.getText().toString();
48             }
49             Toast.makeText(getApplicationContext(), "您选择的性别是:"+sGender, Toast.LENGTH_LONG).show();
50         }
51         
52     }
53     
54     private class BootBallOnCheckedChangeListener implements CompoundButton.OnCheckedChangeListener{
55         @Override
56         public void onCheckedChanged(CompoundButton button, boolean isChecked){
57             String sFav="";
58             if(isChecked){
59                 sFav=cbFootBall.getText().toString();
60                 sFav=sFav+"选中!";
61             }
62             else
63                 sFav=sFav+"未迁中";
64             Toast.makeText(getApplicationContext(), "您选择的爱好是:"+sFav, Toast.LENGTH_LONG).show();
65         }
66     }
67     
68     private class BasketBallOnCheckedChangeListener implements CompoundButton.OnCheckedChangeListener{
69         @Override
70         public void onCheckedChanged(CompoundButton button,boolean isChecked){
71             String sFav="";
72             if(cbBasketBall.isChecked()){
73                 sFav=cbBasketBall.getText().toString();
74                 sFav=sFav+"选中!";
75             }
76             else
77                 sFav=sFav+"未迁中";
78             Toast.makeText(getApplicationContext(), "您选择的爱好是:"+sFav, Toast.LENGTH_LONG).show();
79         }
80     }
81     
82 }
复制代码

管单选按钮和复选框都有OnCheckedChange事件,但注意二者区别。

  效果如下:

  

posted on   lgphp  阅读(1897)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

点击右上角即可分享
微信分享提示