绑定对话框和选项按钮

功能说明:

  • 单选对话框:点击选择按钮,跳出单选对话框,单选对话框被点击后,单选按钮状态随之改变。
  • 多选对话框:点击选择按钮,跳出多选对话框,对话框被点击后,多选框状态随之改变。

效果图:

  • 点击前



点击后


代码实现(MainActivity部分)

public class RegiActivity<setT, dialog> extends AppCompatActivity {private Button myBtn_one;//注册按钮private Button myBtn_sex;//性别选择矩形按钮private Button myBtn_hobby;//爱好选择按钮private RadioGroup myRadio;//性别选择圆形按钮//文本输入控件private EditText rt_name;private EditText rt_password;private EditText rt_sclass;private EditText rt_sgrade;//多选对话框选项private CheckBox singbox;private CheckBox musicbox;private CheckBox readbox;private CheckBox swimbox;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_regi);myBtn_one=findViewById(R.id.btn_one);//绑定按钮myRadio=findViewById(R.id.rdg);rt_name=findViewById(R.id.name);rt_password=findViewById(R.id.password);rt_sclass=findViewById(R.id.sclass);rt_sgrade=findViewById(R.id.sgrade);musicbox = findViewById(R.id.musicbox);readbox=findViewById(R.id.readbox);singbox=findViewById(R.id.singbox);swimbox=findViewById(R.id.swimbox);//性别对话框------单选框myBtn_sex=findViewById(R.id.btn_sex);myBtn_sex.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {AlertDialog dialog;final String[] sex={"男", "女"};//finaldialog=new AlertDialog.Builder(RegiActivity.this).setTitle("请选择性别").setSingleChoiceItems(sex,0, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {//默认选择性别:男,点击选择性别女时改变单选按钮状态switch (which) {case 0:Toast.makeText(RegiActivity.this,"你选择的性别是:"+sex[0],Toast.LENGTH_SHORT).show();myRadio.check(R.id.boy);case 1:Toast.makeText(RegiActivity.this,"你选择的性别是:"+sex[1],Toast.LENGTH_SHORT).show();myRadio.check(R.id.girl);}}}).setPositiveButton("确定",null).show();}});//爱好对话框myBtn_hobby=findViewById(R.id.btn_hobby);myBtn_hobby.setOnClickListener(new View.OnClickListener() {//通过获取点击对话框选项的下标,设置对应复选框状态为选中@Overridepublic void onClick(View v) {final String[] hobby = {"游泳", "唱歌", "音乐", "读书"};final boolean[] items = {false, false, false, false};AlertDialog dialog = new AlertDialog.Builder(RegiActivity.this).setTitle("请选择兴趣爱好").setMultiChoiceItems(hobby, items,new DialogInterface.OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {items[which] = isChecked;switch (which) {case 0:swimbox.setChecked(true);case 1:singbox.setChecked(true);case 2:musicbox.setChecked(true);case 3:readbox.setChecked(true);}}}).show();}});myBtn_one.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v){//Date();}});}
}

原本想通过传递参数来改变按钮的状态的,奈何自己太菜!不过直接设置也比较好用。

绑定对话框和选项按钮相关推荐

  1. Delphi中点击网页弹出的Alert对话框的确定按钮

    实现的方法有很多,一般都是使用Windows API函数遍历窗口,查找指定标题的窗口,然后从该窗口查找确定按钮,向该按钮发送鼠标消息进行模拟点击.由于IE8由Alert弹出的网页对话框的标题是&quo ...

  2. Bootstrap3 模态对话框的选项

    模态对话框的选项 Bootstrap为模态对话框提供了 4 个选项,所有的选项都可以通过 data 属性或JavaScript进行设置.见表 4‑1: 表 4‑1 modal插件的选项 名称 类型 默 ...

  3. 解决video更多选项按钮点击无反应以及操控video标签的控制按钮

    在一个项目中使用原生video时, 点击右下侧 更多按钮时无反应,找了很多文章没有发现类似问题的解决方案 后面就想把更多按钮隐藏掉,但是只能找到隐藏 全屏按钮 和 画中画的隐藏方式 后面找到了可以通过 ...

  4. 鼠标在用了一段之后偶然发现以给特别慢的速度移动鼠标,会在移动到可点击的选项按钮附近明显的卡住问题。

    鼠标在用了一段之后偶然发现以给特别慢的速度移动鼠标,会在移动到可点击的选项按钮附近明显的卡住问题. 买的罗技的G pro,近期重装了一遍系统偶然发现这个问题,已经严重影响了鼠标的使用,制表制图的时候很 ...

  5. excel怎么设置选项按钮?

    按钮功能是excel中一项非常有特色的功能,如果需要投票或者其他选择项时就需要设置按钮,那excel如何设置选项按钮呢?下面就来看看详细的设置方法吧. excel中如何设置按钮功能? 1.打开exce ...

  6. excel使用vb统计分数_使用Excel选项按钮计算调查分数

    excel使用vb统计分数 For easier data entry, you can add Option Buttons on a worksheet. Instead of having to ...

  7. Excel表单控件选项按钮分组错乱的原因

    问题 今天在设计一个表单控件时,发现分开的两组选项按钮控件经常错乱,如下图1:  原因 花了几乎一整天的时间调试研究,终于发现错乱的真正原因,分享给大家,希望能帮到遇到类似问题的朋友. 原因1:分组框 ...

  8. 孙鑫对话框二逃跑按钮中为什么为按钮新建一个类

    为类添加消息处理函数与成员变量,因为要对控件添加WM_MOUSEMOVE消息处理函数,而控件变量本身 不能加消息处理函数,只有类才能添加,所以要创建CNewButton类,然后使按钮控件属于这个类,当 ...

  9. VS 工具-选项对话框 调试选项相关学习总结

    只要一个进程中断,就中断所有进程 c#中总是提示"在代码运行时或者在禁用"只要一个进程中断,就中断所有进程"选项时, 不允许进行更改. 但是根据它提示的修改方法,还是提示 ...

最新文章

  1. nginx php unix负载,使用nginx配置多个php fastcgi负载均衡
  2. AKS开讲啦! | DevOps with AKS
  3. php判断记录,PHP判断数据库中的记录是否存在的方法,php数据库_PHP教程
  4. 努比亚红魔3开启预约:鲁大师跑分破47万
  5. php mutex,go互斥锁Mutex
  6. 默认地址路径修改_修改Docker默认路径
  7. excel查询mysql数据库表,?如何通过Excel查询MySQL数据库
  8. 亿图图示 软件下载与安装 20200715
  9. 2020年最新Django经典面试问题与答案汇总(上)-大江狗整理
  10. comsol显示电场计算结果_comsol电磁场仿真案例
  11. android 歌曲的流派信息,音乐流派分类介绍.doc
  12. 极智开发 | Go 安装教程
  13. ape 音乐文件格式介绍
  14. python-从视频中提取音频+将音频和视频合并
  15. WIFI手机使用正常电脑使用卡顿解决方案
  16. 听Nicholas讲课的一些感想
  17. 未曾有光照耀的地方,皆是正雅齿科下一个战场
  18. DZ先生怪谈国标之视音频文件检索
  19. 谢烟客-----Linux的发展史
  20. Ubuntu 20.04 安装 ros 遇到的问题: The following packages have unmet dependencies

热门文章

  1. 详解欧拉计划第395题:毕达哥拉斯树
  2. Metro UI CSS
  3. 奥兹的 “末日 “备忘录警告微软后PC时代的到来
  4. HTML 标签整理
  5. html 图片的过渡效果,详解CSS背景渐变图片transtion过渡效果技巧
  6. recvfrom函数
  7. Hibernate之Query.uniqueResult()结果为数值的注意事项
  8. 名帖126 王宠 小楷《石湖八绝句》
  9. CyclicBarrier
  10. django orm插入一条_Django听课笔记 | 入门 | 02 - RowryCho