A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

强强打太极

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 强强打太极 初级黑马   /  2015-4-23 13:14  /  3380 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5黑马币
关于一段安全卫士的 更新设置的一段代码?
                                   if(siv_update.isChecked()){
                                        siv_update.setChecked(false);
                                        siv_update.setDesc("自动升级已经关闭");
                                        ed.putBoolean("update", false);
                                }else{
                                        siv_update.setChecked(true);
                                        siv_update.setDesc("自动升级已经开启");
                                        ed.putBoolean("update", true);

当条件为true 执行if语句,为什么setchecked要传入false 为什么不为true???

最佳答案

查看完整内容

功能是:1.若是选中状态下:点击变为为未选中状态。 也就是checkbox的状态为由true变为false。 2. 若是未选中状态下:点击变为选中状态。 checkbox的状态由false变成true。 另:checkbox选中状态为true,未选中为false。

7 个回复

倒序浏览
强强打太极 发表于 2015-4-24 21:08
有个逻辑的疑问 就是既然选中了 条件为true  但是为什么执行  setchecked(false);而不是 siv_update.setc ...

功能是:1.若是选中状态下:点击变为为未选中状态。
              也就是checkbox的状态为由true变为false。
             2. 若是未选中状态下:点击变为选中状态。
             checkbox的状态由false变成true。
         另:checkbox选中状态为true,未选中为false。
回复 使用道具 举报
这个题的答案是,if判断checkbox当前的状态是true的,就是说当前被选中,取消选中,就是要setChecked(false)
回复 使用道具 举报
柒夜 发表于 2015-4-23 21:05
这个题的答案是,if判断checkbox当前的状态是true的,就是说当前被选中,取消选中,就是要setChecked(false ...

有个逻辑的疑问 就是既然选中了 条件为true  但是为什么执行  setchecked(false);而不是 siv_update.setchedcked(true);
回复 使用道具 举报
Checked() 是判断你后边复选框的状态  如果是false 表示没有被选中,是ture表示复选框被选中
回复 使用道具 举报
siv_update.isChecked()返回当前这个复选框的选中状态,如果选中了则返回 true,如果没选中,则返回false,对于这段代码为例:

if(siv_update.isChecked()){  // 【如果当前为选中状态,if条件成立,则表示需要取消选中状态】
          siv_update.setChecked(false);         // 【所以这里需要取消选中状态】
          siv_update.setDesc("自动升级已经关闭");
          ed.putBoolean("update", false);  // ed.putBoolean("update", false).commit(); 记得提交
}
回复 使用道具 举报

Checked()中的ture or false 是根据是否选定复选框的状态进行判断的,和其他没有关系,选定就是ture 未选定就是false
回复 使用道具 举报
你要设置是否自动更新的话,肯定会点击你的checkbox,当这个checkbox选中时,点击checkebox触发onClick事件,此时这个checkbox已处于选中状态,通过setChecked(false)修改为非选中状态。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马